1、通过客户端连接两种远程服务器:
(1) SQL数据库 ;(2) 远程仪表2、现在发现:
如果一段时间没有与远程服务器进行数据交互,服务器会自动把客户切断,由于本人对TCP/IP协议还属于入门阶段,因此不知道如何处理这种现象或者避免此现象发生;3、我同远程服务器的连接方式是这样的
(1)对于远程仪表:我是先建一个CSOCKET对象,同服务器连接,然后读取服务器中的部分信息;问题为:如果一段时间没有同SOCKET对象进行数据交互,然后就读不了服务器中的数据了
(2)数据库,通过ADO连接,通过ADO读取服务器中的部分信息;问题同上

解决方案 »

  1.   

    对于你的CSocket对象,在远程服务器主动地断开连接的时候,它是可以得到该消息的.而在网络设备故障(网线脱落或者交换机掉电)的情况下,你可能需要自己定义心跳检测机制.
    如果服务器并非你所开发的,那么你只能在请求数据却得不到所需时重新连接服务器了.
      

  2.   

    对于ado你不能期望一次打开数据库就永远来理所当然得认为它必须为你提供服务.你可以在一次打开数据库后完成时间上比较连续的一系列数据库操作工作,然后关闭数据库连接.下一次同上.
      

  3.   

    CSocket通讯的话,必须定期发送心跳包来保持通讯,以防止socket因超时没有动作而自动中断。
    数据库操作就没办法了,只能是重新连接来解决了。