一旦我在我的客户端上实现了重新连接,我的服务器(基于boost :: asio)出现了一个新错误,但我甚至不确定这是否是原因。场景是这样的:
用TCPView查看我发现一切看起来都很好而且很有效。服务器侦听端口7000.但是当出现这个问题时,我可以看到TCPView的一个奇怪的东西:
Client.exe 9016 TCP ME 7000 localhost 7000 ESTABLISHED
当服务器不运行时,这怎么可能?同一个港口?我查了一下,没有其他进程在这个端口上监听!如果对方听不到任何内容,如何在7000端口上存在和ESTABLISHED连接。然后,当然,客户端正在使用该端口,我收到此错误(不确定为什么我会收到此错误,而不是“端口已在使用中”。
注意:我没有防病毒软件,Windows防火墙已停用,其他进程没有使用端口7000.我只有一台服务器可以监听端口7000和连接服务器的客户端。几次停止(干净地)并启动服务器后,会出现这种奇怪的连接。
编辑:服务器和客户端在同一台机器上运行