当前位置: 首页 > 知识库问答 >
问题:

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

夏华藏
2023-03-14

我在Python中使用套接字制作聊天应用程序,但当我尝试从不同的计算机连接时,它会说:

C:\用户\James\OneDrive\Documents\Python\Projects\Gui聊天\client.pyw[WinError 10060]连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机没有响应

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

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:

共有1个答案

郜琦
2023-03-14

首先尝试在localhost127.0上绑定服务器。0.1

检查计算机的默认计算机/antivurus
防火墙(服务器所在的位置)是否允许在端口55555上进行连接。

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

你确定你在客户端写入的IP是正确的吗?
用服务器转到你的计算机并检查那个IP。

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

Linux/MacOS转到你的终端,键入ifconfig-a,它应该在那里的某个地方,但是我没有这些系统,所以我不能为你测试它。如果它不工作尝试搜索如何
找出。

 类似资料:
  • 在套接字最终接受另一端消失的情况下,什么指定了这个超时?是操作系统(Ubuntu 11.04),还是来自TCP/IP规范,还是套接字配置选项?

  • 在一个简单的客户端-服务器TCP套接字中,当我试图在Android Studio中创建客户端套接字时,遇到了一个问题。导致错误的指令是<code>Sockets=new Socket(主机名,端口) 我使用的端口是 1993,我尝试了变量的一些值: 在每种情况下,应用程序都会因为这个错误而停止,下面的错误属于第一点,其他的得到类似的错误。 Eclipse中的相同指令工作,我在命令行上使用服务器“n

  • 问题内容: 我已经用套接字卡住了4h,我使用的方式是只有一个应用程序作为客户端和服务器,一旦客户端连接, 它将与新客户端一起打开theard,并等待消息。 一旦消息发送到服务器,客户端将收到响应,该部分正在正常工作。 客户专区的一部分: 服务器支持2条消息,第一条是“列表”,发送一条命令是“获取值”。 如果客户端将请求命令“列表”,它将运行以下命令:有一个“服务器/客户端”,它正在发送请求并接收一

  • 真的需要你帮忙。 我的项目是通过电缆连接两台PC机,并使用tcp套接字将客户端文本框形式的字符串发送到服务器。问题是ATI只能发送一个字符串,然后连接就会关闭。 注意:某个端口上的连接将在表单加载中建立并成功。

  • 问题内容: 如何创建SSL套接字连接? 我真的需要创建密钥库吗?该密钥库应该与我所有的客户端应用程序共享吗? 我用以下代码创建了一个服务器: 我用以下代码在android上创建了一个客户端: 但是当我尝试连接时,会引发以下错误: 问题答案: 您需要一个证书来建立ssl连接,您可以在密钥库中加载证书,也可以加载证书本身。我将显示一些有关keystore选项的示例。 您的代码需要一些参数才能运行: 您

  • (谢谢大家的时间,你们所给予的帮助对于一个学习型程序员来说是无价的)