检查服务器是否在线的合理超时时间是多少?

| 我必须通过UDP协议查询〜10000个游戏服务器,以每15分钟检查一次它们是否在服务器上在线。我的代码正在运行,但是脱机的服务器阻塞了线程,极大地降低了进度。我使用20个线程,更多线程将导致Python的UDP套接字减慢爬行速度。 目前,在确定服务器处于脱机状态之前,我正在使用五秒钟的超时时间。可以进一步降低该限制,还是必须提高该限制? 请不要建议使用心跳,我的服务器是一款非官方的主服务器,用于必须抽水且无法接收大多数心跳的游戏。     
已邀请:
        您不必使用同步通信(即发送数据包,阻止数据并等待结果),尤其是在使用UDP的情况下。只需一个线程发出ping信号,另一线程不断在同一套接字上接收pong。如果您必须对结果进行复杂的处理,则可能需要使用其他方法。 挑战将在发送逻辑中-您不想压倒自己的Internet连接,因此我建议可配置的数据包速率。此外,UDP数据包可能会在网络中丢失,因此在放弃之前至少重新发送一次或两次。作为超时,我建议大约2秒钟,因为如果对游戏(即高度延迟敏感)服务器执行ping操作花费的时间超过该时间,则可能仍然无法使用。     

要回复问题请先登录注册