我有两个脚本:server.py
和client.py
,我正在尝试全局连接它们。它们是这样的:
server.py
:
import socket
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(("", 5050))
while True:
conn, addr = server.accept()
client.py
:
import socket
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(("[my public ip (don\'t want to give away)]", 5050))
当我运行server.py
时,一切都很好。当我尝试与client.py
连接时,会收到错误消息:ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it
。我把防火墙关掉了
此外,我尝试了这些问题,但没有解决问题:
No connection could be made because the target machine actively refused it?
How to fix No connection could be made because the target machine actively refused it 127.0.0.1:64527
No connection could be made because the target machine actively refused it 127.0.0.1:3446
No connection could be made because the target machine actively refused it 127.0.0.1
Errno 10061 : No connection could be made because the target machine actively refused it ( client - server )
您是否在路由器上转发本地IP和TCP端口
如果没有,您将需要通过
192.168.0.1
(取决于路由器上的设置)登录路由器,进入端口转发并添加一条规则(针对我的路由器),说明服务器的本地IP和TCP端口5050
(来自您的代码)并保存它在绑定中而不是在“”中,您应该写入“0.0.0.0”以获取所有连接。此外,如果在同一台计算机上运行服务器和客户端,则应使用“127.0.0.1”而不是公共IP地址,因为连接是在您自己的计算机上完成的。如果您在不同的计算机上运行,您可以使用计算机的本地IP地址,同样,不需要公共IP地址(您可以使用cmd-write-IPCONFIG找到它,它会显示出来,大多数时候它看起来像“192.168.x.x”。我将在这里添加适用于我的代码供您使用:
server.py
client.py
相关问题 更多 >
编程相关推荐