为什么我的客户端服务器套接字连接总是断开连接我经常收到日志消息(比如每小时大约4条)说这条消息,现有连接被远程主机强行关闭在这种情况下,错误出在“服务器”端。我决定使用wireshark来分析发生了什么,我明白了。没有延迟,这一切都在几秒钟内发生。服务器>客户端[PSH,ACK]Seq=55653Ack=4472Win=63940Len=148客户端>服务器[ACK]Seq=4472Ack=55801Win=4038Len=0服务器>客户端[PSH,ACK]Seq=55801Ack=4472Win=63940Len=148Client>Server[ACK]Seq=4472Ack=55949Win=4001Len=0Server>Client[PSH,ACK]Seq=55949Ack=4472Win=63940Len=142Client>Server[PSH,ACK]Seq=4472Ack=55949Win=4001Len=31Client>Server[RST,ACK]Seq=4503Ack=55949Win=0Len=0所以在客户端和服务器(PSH)和确认之间发送了一些东西内容(确认)。RST突然发生。根据维基百科,这是一个重置,这个重置对应于我上面提到的“强制现有连接...”消息。这到底是什么意思?这是否意味着重置导致了问题?我认为答案是否定的,重置是问题的结果更有意义吗?即服务器端的套接字由于某种原因死机,客户端向服务器发送重置以尝试将其唤醒。思考?有时,一个行为不端的客户端得到或发送了它想要的东西,然后立即退出(关闭套接字,然后突然断开连接)。偶尔看到任何服务暴露在Internet上并不罕见。如果是您自己的代码导致了这种情况,请确保您发送了任何“我现在完成”命令(通常是“退出”)并在关闭连接之前正确地“关闭”连接。除此之外,您应该引起的唯一重置将涉及您的互联网访问权剥离。服务器和客户端都是你自己的代码。尽管我遇到了类似的问题,但在我的情况下,服务器不是我的代码,所以我无法真正找出客户端关闭连接并发送PSH和RST消息的原因。在任何一种情况下,如果您遇到与您遇到的错误类似的错误,请创建一个新套接字并建立通信。以上就是C#学习教程:为什么我的客户端服务器socket连接一直断开所有分享的内容,如果对你有用还需要详细了解C#学习教程,希望大家多多关注——本文来自网络收藏,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
