我打算制作一个Python游戏服务器,但我看不出如何设置它。
我遇到的问题是我需要服务器来监听连接(使用socket.socket.accept()
?)但是它会挂起代码直到建立连接,这意味着服务器在它连接时不能执行任何其他操作等待。
多线程解决方案吗?
另一个问题是每个客户端是否应该在游戏开始时连接并在此期间保持连接,或者是否应该每秒都进行连接以发送/接收数据。
答案 0 :(得分:2)
正确,socket.accept()
按设计阻止。要在后台处理连接,请参阅SocketServer.ThreadingMixIn
,例如。
http://docs.python.org/library/socketserver.html#asynchronous-mixins