我已经使用Twisted创建了一个Web服务器来处理"实时"游戏。 服务器在分离的线程上以60hz循环并更新所有客户端。
设定:
问题是当没有从客户端发送消息时,服务器开始响应每1秒而不是每秒响应所有客户端60次。一旦至少一个客户端开始发送消息(例如60hz的鼠标位置),一切正常。即使只连接了一个客户端,也会发生这种情况。
我已对reactors select()
和poll
进行了测试,但没有运气。
反应堆如何启动:
if __name__ == "__main__":
log.startLogging(sys.stdout)
factory = AppGameFactory(u"ws://127.0.0.1:8080")
factory.protocol = AppGameServerProtocol
resource = WebSocketResource(factory)
# websockets resource on "/ws" path
root.putChild(u"ws", resource)
site = Site(root)
reactor.listenTCP(8080, site)
reactor.run()
任何想法?我错过了什么吗?