我正在运行一个游戏网站,用户使用Adobe Flash客户端连接到运行在Fedora Linux机器上的C服务器。
用户经常抱怨断开连接。通常它们是“通过对等方重置连接” - 断开连接。
有没有办法让连接更稳定,还是全部取决于从用户主机到服务器的路由?
我尝试的一件事是每隔一分钟以明文形式发送PING以使其更加稳定,以避免出现超时问题。
有人有更多想法吗?
答案 0 :(得分:1)
您没有耗尽服务器上给出服务器进程的套接字/内存使用/ cpu的数量,是吗?
请与ulimit
核对。
此外,如果可能,尝试跟踪源代码中的错误消息(当发送RST数据包时),即send()或accept()返回错误值时。在这种情况下,将调试消息打印到日志中;如果您真的想要调试它,请对服务器进行模拟:
答案 1 :(得分:0)
你在哪里运行服务器?
在家?工作中?在托管设施?
这将产生很大的不同。
您是否可以将应用程序设计为连接到服务器上的两个插槽,然后进行负载平衡或使其处于主动/被动(或主动/主动)?
答案 2 :(得分:0)
您可以使用SO_KEEPALIVE TCP套接字选项。