采用TCP时,应用层需要超时重传吗? 需要,原因如下: 1 tcp的超时控制不是你能设置的,所有的tcp超时都是用系统的时间设定,而且这个时间很长,超时的结果就是断开连接.和你应用要达到的目的显然差很远 2 send的返回OK != 数据被对方成功收到 ,且,数据被对方成功受到 != 数据被对方逻辑成功处理 举个极端的例子:对方收到包,但是还没来的及处理,程序崩掉了,这个时候你的网络层显示的显然是对方收到了(确实也是对方收到了),但是对方并没有正确处理这个包,这个时候从逻辑上讲,你应该需要重发的…