我正在制作一个具有多人游戏模式的简单游戏。我需要以某种方式在一个玩家和另一个玩家之间发送数据。我找不到在两个客户端之间传输数据的方法。有没有办法通过服务器转发它们?
我正在使用socketserver
库接受连接。这是我处理连接的方式。
def handle(self):
data = self.request.recv(BUFFSIZE).decode("utf-8")
print("Received connection")
print(data)
答案 0 :(得分:1)
在90年代的剧本中:客户端之一可以是服务器;其他客户端(在同一LAN上)连接到它。
由于NAT,它在LAN外部无法正常工作。
通常,您需要在某个专用服务器上运行某个服务器,该服务器将允许用户连接并在它们之间路由消息。
自然地,您希望在服务器上运行所有游戏逻辑,而只将状态显示和用户输入留给客户端。
此外,一台服务器可以托管多个游戏。
在实现方面,标准库中的套接字服务器将是一个好的开始;来自同一标准库的HTTP服务器,甚至更简单。