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