我在互联网上进行了搜索,没有直接的方法可以做到这一点(有可能吗?)。我有一个使用 python 套接字运行的简单应用程序和一个也在套接字上运行的服务器应用程序,在本地网络上工作。
我想要的是客户端应用程序能够运行并连接到服务器,无论它在什么设备上运行,它都是一个Python游戏,所以如果有其他方法可以制作Python游戏(使用pygame)多人游戏请告诉。
我认为你想通过互联网运行你的套接字服务器。这是绝对有可能的。如果您有服务器,这里有一个简单的片段: 服务器:
import socket
import threading
HOST = '0.0.0.0'
PORT = 12345
def handle_client(conn, addr):
print(f"Connected by {addr}")
while True:
data = conn.recv(1024)
if not data:
break
conn.sendall(data) # Echo back
conn.close()
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind((HOST, PORT))
s.listen()
print("Server started...")
while True:
conn, addr = s.accept()
thread = threading.Thread(target=handle_client, args=(conn, addr))
thread.start()
客户:
import socket
HOST = 'your.server.ip.address'
PORT = 12345
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect((HOST, PORT))
s.sendall(b'Hello, server')
data = s.recv(1024)
print('Received', repr(data))
您可以通过以下方式获取您计算机的公网IP地址: 在 Mac、Linux 和 Windows 中:
curl checkip.amazonaws.com
或
curl ifconfig.me
或
curl checkip.amazonaws.com