当前位置: 技术问答>linux和unix
UNIX/Linux socket 编程的连接断开!
来源: 互联网 发布时间:2017-04-23
本文导语: 如果服务器和客户端建立好连接后,因为某些原因,我想在某一端将这个连接给断开,有什么函数可以做到,或者说有什么方法? | 这个你不用担心,协议会帮你的! | 没有心跳单纯依赖TCP协议...
如果服务器和客户端建立好连接后,因为某些原因,我想在某一端将这个连接给断开,有什么函数可以做到,或者说有什么方法?
|
这个你不用担心,协议会帮你的!
|
没有心跳单纯依赖TCP协议来解决连接断开问题是不可靠的。
|
::shutdown(sock, SHUT_RDWR);
TEMP_FAILURE_RETRY(::close(sock));
TEMP_FAILURE_RETRY(::close(sock));
|
close(socket);
socket = -1;
socket = -1;
|
对端close后,socket会变成可读,recv返回
不用send recv 怎么可能知道?
不用send recv 怎么可能知道?
|
对端close以后,本端的read函数会读到EOF,如果用write,会返回-1。这样就可以知道对端close了。