|
最近在编一个socket通信的程序,遇到以下问题,向大家请教。
在socket通信中如果客户端关闭了,那么在网络正常的情况下,服务器端可以通过read或者recv函数的返回值获知客户端的状态。但是这中方法在网络不是非正常中断(譬如拔网线)的情况下是无法实现的。
因此我找了很多资料,据说可以用一个心跳函数,也就是发tcp的带外数据,可以实现这一功能。但是我不明白send(sockfd,&c,1,MSG_OOB)与send(sockfd,&c,1,0) 在效果上有什么区别呢,在阻塞模式下,我拔掉网线后,会有什么不同?哪位大虾知道心跳函数如何使用阿,请指教!!!!!非常感谢!!! |
|