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