如何在两个客户端之间发送数据

时间:2019-11-05 18:06:37

标签: python python-3.x sockets networking socketserver

我正在制作一个具有多人游戏模式的简单游戏。我需要以某种方式在一个玩家和另一个玩家之间发送数据。我找不到在两个客户端之间传输数据的方法。有没有办法通过服务器转发它们?

我正在使用socketserver库接受连接。这是我处理连接的方式。

def handle(self):
    data = self.request.recv(BUFFSIZE).decode("utf-8")
    print("Received connection")
    print(data)

1 个答案:

答案 0 :(得分:1)

在90年代的剧本中:客户端之一可以是服务器;其他客户端(在同一LAN上)连接到它。

由于NAT,它在LAN外部无法正常工作。

通常,您需要在某个专用服务器上运行某个服务器,该服务器将允许用户连接并在它们之间路由消息。

自然地,您希望在服务器上运行所有游戏逻辑,而只将状态显示和用户输入留给客户端。

此外,一台服务器可以托管多个游戏。

在实现方面,标准库中的套接字服务器将是一个好的开始;来自同一标准库的HTTP服务器,甚至更简单。