socket的问题请大家帮助

现在我的一个socket程序使用TCP协议,但是在服务器端断开时(close(sock)),客户端有时判别不出来,其send()函数并不返回错误(返回值《=0),请问是哪个选项没有设置吗?

xtang,computer,这些大侠帮助看看呀

哪一端是QNX?还是两端都是?

服务器端正常close()的时候,客户端的协议栈会接到通知,并处理相应客户端应用程序的请求。如果,如你所说,服务器端close(),客户端不响应的话,可以
netstat -na 看看在服务器和客户端的socket连接都在什么状态下,对照一下TCP状态转换图,应该就能知道是哪一端的协议栈有问题了。

还有一个可以试的是,服务器端在close(sock)之前, 做一个shutdown(sock)试试。

两端都是qnx,shutdown也做了