我正在尝试使用带有套接字的 Python 制作一个简单的应用程序,但如果客户端在 LAN 中,它们只会收到从服务器发送的消息“测试”。我试图从我的笔记本电脑和我的 PC 上运行客户端(服务器在我的 PC 上运行)。在这两种情况下,我都收到了“测试”消息,但是当朋友尝试连接时,他没有收到消息。这是我的server.py:import sockets = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.bind((socket.gethostname(), 7908))s.listen(5)while True: clientsocket, address = s.accept() print(f"Connection from {address} established") clientsocket.send(bytes("Test", "utf-8"))这是我的client.py:import sockets = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.connect(("my_public_ip_address", 7908))print(s.recv(8).decode("utf-8"))我client.py在发送之前使用 pyinstaller 进行编译,这样脚本就可以在机器上不安装 Python 的情况下运行(我的笔记本电脑上什至没有 Python)感谢您花时间阅读和阅读本文:)(对不起,如果我的英语不好,我是法国人)
1 回答
至尊宝的传说
TA贡献1789条经验 获得超10个赞
我猜你的朋友在你的局域网之外:如果是这样,你应该在路由器上打开/端口 7908 端口到服务器。在服务器 PC 防火墙上打开 7908 端口。
您的脚本以这种方式应该可以工作。
添加回答
举报
0/150
提交
取消