在测试socket服务器时候,发现页面发送16次前进指令,就断开连接
控制台报错java.net.SocketException: Connection reset
:
网上查博客后,发现原因:服务器端代码中有 socket.sendUrgentData(0)
之前我写过这个,是用于检测网络状态,判断客户端是否断开连接,但是原理不是很清楚, 不允许某一台主机总在发送紧急数据包,这样会导致信道堵塞,所以当主机发送一定数量的紧急数据包后,该主机就再不允许发送数据包了,即报错。
注释起来,再运行,不会报错