python - TCP 套接字未连接 [WinError 10060] - Python

标签 python sockets tcp

我正在使用 python 中的套接字制作一个聊天应用程序,但是当我尝试从另一台计算机连接时,它会显示:

C:\Users\James\OneDrive\Documents\Python\Projects\Gui Chat\client.pyw [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond

这是套接字的服务器代码:

host = socket.gethostbyname(hostname)
port = 55555
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind((host, port))
print(f"IP: {server.getsockname()[0]}\nPORT: {server.getsockname()[1]}")
server.listen()

我还有一个 while True 循环接受所有请求:

while True:
   client, address = server.accept()
   print(f"Connected with {str(address)}")

在客户端,这是套接字代码:

IP = simpledialog.askstring("IP", "Enter IP address", parent=root)  # "192.168.1.252"  # input("Enter IP: ")
nickname = simpledialog.askstring("Nickname", "Choose a nickname", parent=root)

client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
    client.connect((IP, 55555))
except Exception as e:
    print(e)

程序每次都会询问IP地址,当我输入服务器计算机的正确IP地址时,它会出现上述错误。如果我尝试从同一台计算机进行连接,并且它们都位于同一网络上,则它会起作用。最近还可以工作,现在就停止工作了。

更新: 我已将服务器 IP 设置为 0.0.0.0,已设置端口转发规则,已检查防火墙并允许传入和传出连接,并且已运行 nmap 并得到以下结果:

nmap results

最佳答案

代码问题

首先尝试在 localhost127.0.0.1 上绑定(bind)服务器。

防火墙/端口问题

检查您的计算机是否是默认计算机/防病毒软件
防火墙(托管服务器的地方)允许连接
在您的端口 55555 上。

如果带有客户端的计算机位于您的家庭网络之外
指向路由器公共(public)IP地址并确保您有
路由器上的端口转发设置。

解决问题

你确定你在客户端写的IP是正确的吗。
转到您的服务器计算机并检查该 IP。

Windows: 转到 cmdPower Shell 并输入 ipconfig,然后查找
IPv4 地址 部分并查看您所在的地址。

Linux/MacOS 转到您的终端并输入 ifconfig -a,然后
它应该在那里的某个地方,但我没有那些系统,
所以我无法为你测试。如果它不起作用,请尝试搜索如何
找出来。

关于python - TCP 套接字未连接 [WinError 10060] - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68971888/

相关文章:

android - 通过 xmpp 或 websocket 进行即时消息传递

python - 如何解释此错误 "UnicodeDecodeError: ' ascii' 编解码器无法解码位置 164 : ordinal not in range(128)"中的字节 0xe2

python - 如何通过更新 OrderedDict 来保持订单

java - 如何发现本地网络上的 Web 服务器?

objective-c - 设置服务器以从传入套接字连接读取数据的最简单方法是什么?

java - 使用套接字和线程写入文件

tcp - MPTCP 和 TCP 的拥塞控制是否一起工作?

python - Spacy 基于规则的匹配输出不需要的短语位

python - 按元素对 Pandas 数据框应用条件

tcp - Akka IO TCP 接收数据