TCP keep Alive
Posted: Mon 24 Feb 2014 14:00
I need more explanation on TCP keep alive. I want to know if DevArt class Devart.Data.MySql.MySqlConnection support TCP keep alive. If so, how to use it?
Here is my problem with a long query on remote host with a direct IP connection. I try to do a “checksum table …” on a large table but this query takes more than 1 hour to run. The query is completed on the server but the client never receives the result. It seems somewhere on the network the link between the server and client is cut but client and server are not knowing it. I’m not managing the network between the client and server but it seems somewhere on it, it has a router or NAT that cut the link after 1 hour. But when I run it directly on server or on a computer on the same switch on the network, I didn’t get this issue.
To solve this, I add a parameter to Windows’ registries “KeepAliveTime”. This solve my problem and the client receive the result. But I’m not sure is the best way. Regarding what I read on the registry entry “KeepAliveTime”, I read we should not need to change this. The client application should manage this. In my case I think MySqlConnection should manage it and send a packet (null packet?) to ensure the connection will not be cut by any router or NAT.
Could you help me to understand how to manage TCP keep alive with Devart dotConnect for MySQL (6.80)?
Thanks,
François
Here is my problem with a long query on remote host with a direct IP connection. I try to do a “checksum table …” on a large table but this query takes more than 1 hour to run. The query is completed on the server but the client never receives the result. It seems somewhere on the network the link between the server and client is cut but client and server are not knowing it. I’m not managing the network between the client and server but it seems somewhere on it, it has a router or NAT that cut the link after 1 hour. But when I run it directly on server or on a computer on the same switch on the network, I didn’t get this issue.
To solve this, I add a parameter to Windows’ registries “KeepAliveTime”. This solve my problem and the client receive the result. But I’m not sure is the best way. Regarding what I read on the registry entry “KeepAliveTime”, I read we should not need to change this. The client application should manage this. In my case I think MySqlConnection should manage it and send a packet (null packet?) to ensure the connection will not be cut by any router or NAT.
Could you help me to understand how to manage TCP keep alive with Devart dotConnect for MySQL (6.80)?
Thanks,
François