简单客户端 - 服务器脚本不起作用,尝试连接时超时错误 10060
Simple Client - Server scripts don't work, Timeout error 10060 when attempting to connect
我看过很多类似的问题,但我不明白为什么连接永远不会建立,它们只是超时。我已经看到一些问题,建议防火墙(windows 防火墙)问题可能会阻止我,但我不太确定,我已经尝试在两台机器上禁用防火墙,但问题仍然存在。还有 python 规则允许两台机器上的传入和传出连接。
我已经检查了我的路由器设置,但我找不到任何建议禁用端口转发等的信息。
我将我的一台设备放在我的家庭网络上,另一台放在我的移动数据热点上,以模拟不同网络上的设备。我换了这些设备。
我已经使用 wireshark 检查数据包,我可以看到数据包离开任一网络但从未被接收。
client.py
import socket
HOST, PORT = SERVERS-EXTERNAL-IP, 65000 #Tried a variety of ports
data = "Hello very cool message"
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock:
# Connect to server and send data
sock.connect((HOST, PORT))
sock.sendall(bytes(data + "\n", "utf-8"))
print(f"Sent: {data}")
server.py
import socket
PORT = 65000
HOST = socket.gethostname() #Tried other things like '', ''localhost' etc
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.bind((HOST, PORT))
sock.listen(5)
print("Listening")
c, addr = sock.accept()
print("Accepted")
data = c.recv(1024)
sock.close()
client.py 结果:
Traceback (most recent call last):
File "client.py", line 15, in <module>
sock.connect((HOST, PORT))
TimeoutError: [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
server.py 结果:
Listening
关于我为什么会遇到这个问题有什么建议吗?
好的,我设法让它工作了。没有设置端口转发,这与我之前的想法相反。
为了解决这个问题,我为我的服务器创建了一个静态本地 IP 地址,并在我的路由器设置中创建了一个端口转发规则,以将特定端口定向到服务器的静态 IP。以下站点非常有用:
还要感谢@SteffenUllrich 以正确的方式指导我。
我看过很多类似的问题,但我不明白为什么连接永远不会建立,它们只是超时。我已经看到一些问题,建议防火墙(windows 防火墙)问题可能会阻止我,但我不太确定,我已经尝试在两台机器上禁用防火墙,但问题仍然存在。还有 python 规则允许两台机器上的传入和传出连接。
我已经检查了我的路由器设置,但我找不到任何建议禁用端口转发等的信息。
我将我的一台设备放在我的家庭网络上,另一台放在我的移动数据热点上,以模拟不同网络上的设备。我换了这些设备。
我已经使用 wireshark 检查数据包,我可以看到数据包离开任一网络但从未被接收。
client.py
import socket
HOST, PORT = SERVERS-EXTERNAL-IP, 65000 #Tried a variety of ports
data = "Hello very cool message"
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock:
# Connect to server and send data
sock.connect((HOST, PORT))
sock.sendall(bytes(data + "\n", "utf-8"))
print(f"Sent: {data}")
server.py
import socket
PORT = 65000
HOST = socket.gethostname() #Tried other things like '', ''localhost' etc
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.bind((HOST, PORT))
sock.listen(5)
print("Listening")
c, addr = sock.accept()
print("Accepted")
data = c.recv(1024)
sock.close()
client.py 结果:
Traceback (most recent call last):
File "client.py", line 15, in <module>
sock.connect((HOST, PORT))
TimeoutError: [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
server.py 结果:
Listening
关于我为什么会遇到这个问题有什么建议吗?
好的,我设法让它工作了。没有设置端口转发,这与我之前的想法相反。
为了解决这个问题,我为我的服务器创建了一个静态本地 IP 地址,并在我的路由器设置中创建了一个端口转发规则,以将特定端口定向到服务器的静态 IP。以下站点非常有用:
还要感谢@SteffenUllrich 以正确的方式指导我。