我与python和PodSixNet进行了简单的多人聊天,当我在计算机上的不同终端上运行它时,它运行得很好。但是,当我尝试从不同的计算机连接到同一个聊天时,我永远断开连接。我能做错什么? 我在0.0.0.0:8000上运行服务器,在localhost:8000上运行客户端(虽然两者都尝试了localhost,两者都尝试了0.0.0.0。但仍然没有)。计算机连接到相同的Wi-Fi。
答案 0 :(得分:1)
这个解决方案对我有用。从客户端程序中的用户获取服务器的Ip和端口号(客户端要连接的服务器的Ip和端口号)。
在服务器代码中,在主函数
中创建服务器类对象时,传递服务器自身的IP和端口号 address, port = raw_input("Host:Port (localhost:8000): ")
if not address:
host, port = "localhost", 8000
else:
host, port = address.split(":")
s = GameServer(localaddr=(host, int(port)))
在客户端中,替换
self.Connect()
与
address = raw_input('Address of server: ')
try:
if not address:
host, port = "localhost", 8000
else:
host, port = address.split(":")
self.Connect((host, int(port)))
except:
print("Error Connecting to server")
exit()
希望这有帮助。