我正在创建自己的tic-tac-toe游戏。
在此阶段,我正在尝试向其添加一个网络功能,这将允许同一网络中的两个播放器(但在不同的设备中)相互对抗。
我要做的第一件事是通过服务器将游戏发送到客户端,但是在这种情况下服务器端而不是客户端。
特别突出显示代码的最后一部分(主函数)!
有帮助吗?
def Main():
host = "127.0.0.1"
port = 5000
mySocket = socket.socket()
mySocket.bind((host,port))
mySocket.listen(1)
conn, addr = mySocket.accept()
print ("Connection from: " + str(addr))
while True:
data = conn.recv(1024).decode()
if not data:
break
print ("from connected user: " + str(data))
data = game
print ("sending: ")
conn.send(data().encode())
conn.close()
if __name__ == '__main__':
Main()
首先,您需要一个游戏类来替换游戏功能。然后,客户端和服务器(假设您想要客户端和服务器之间的游戏)应维护游戏实例。这样,当客户端采取行动时,它可以更新自己的游戏实例,并将更新发送到服务器。服务器可以做同样的事情来保持游戏的运行。
无论如何,此存储库可能会在此问题上为您提供帮助。它还没有完成,甚至没有错误处理。但是它的游戏功能可以起作用。