gpt4 book ai didi

sockets - 关闭套接字以避免 "connection reset by peer"的正确方法

转载 作者:行者123 更新时间:2023-12-01 12:36:26 26 4
gpt4 key购买 nike

我有一个持续维护套接字的客户端/服务器应用程序。当客户端注销时,它会向服务器发送“注销”消息,然后关闭套接字并进行清理。服务器在收到此消息时清理并关闭套接字 - 并且不回复该消息。

在相当规律的基础上,我看到服务器记录了“连接被对等重置”错误,而最终用户没有任何投诉,我认为这一定是我的签核序列中偶尔出现的计时问题。当最终用户提示他们的连接实际上被断开时,我确实看到了同样的错误,所以我想知道如何区分这些场景之间的区别——或者更好的是,如何在正常情况下防止虚假的“连接重置”场景。

我猜测在某些情况下,服务器在收到“退出”消息之前(或期间)被关闭的套接字击中。这可能吗?在实际关闭套接字之前,您是否应该遵循正确的顺序让服务器知道客户端即将终止?有什么方法可以在关闭前检查最后一条消息是否已送达?

谢谢,罗布

最佳答案

shutdown(s, SHUT_RDWR)功能应该可以解决您的问题。 this document 中有更完整的解释.

关于sockets - 关闭套接字以避免 "connection reset by peer"的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29283322/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com