首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

TClientSocket 控件 socket联接状态检测

2012-11-05 
TClientSocket 控件socket连接状态检测问题:简单说就是定时检测 socket连接状态我现在用的是BCB中自带的 T

TClientSocket 控件 socket连接状态检测
问题:简单说就是定时检测 socket连接状态
  我现在用的是BCB中自带的 TClientSocket 控件,作为客户端, 服务器是一单片机。
  程序启动,在配置文件中读取ip地址和端口号,连接服务器,若连接不成功则继续连接
  连接成功则可以向服务器发送命令,服务器收到命令返回数据。
  问题出在,如果连接成功,如果不给服务起发送命令,过一段时间(时间不定),socket会自动断开连接,但我这里检测测到已经断开,没有激发socket的任何事件,直到我给服务器发送命令,才发现断开了(偶尔会间隔很长一段时间检测到断开),这个该如何解决。  
  还有就是socket如何检测例如像拔掉网线这样的断开?

[解决办法]
如果用API的话,可以用recv函数来判断连接是否被对方关闭
[解决办法]
最好发心跳包避免超时断开。
2有个断开事件可以检测

热点排行