我前一段时间看到csdn本版网络编程有一篇文章<<脆弱的TCP通信>>,文章中谈到客户机与服务器建立tcp连接后,如果客户端与服务器端一段时间没有通信,这时候会造成client套接字不能进行写操作(发送数据到服务器),我也碰到类似情况,困惑不解,请问这是什么原因,它的理论依据是什么?

解决方案 »

  1.   

    “客户端与服务器端一段时间没有通信,这时候会造成client套接字不能进行写操作(发送数据到服务器)”这种情况不是必然现象,而是大部分服务程序采取某种保护机制而导致的。比如,大部分FTP服务器,会在“客户端长时间没有发送-接收数据”,为保护资源,会把该连接关闭,就形成了“客户端与服务器端一段时间没有通信,这时候会造成client套接字不能进行写操作(发送数据到服务器)”的现象。如果服务器没有采用这种工作模式,那么,TCP连接是会一直保持下去的,而且,是可以进行写操作(发送数据到服务器)的。