socket error: [Errno 10061]

来源:互联网 发布:交换机上联端口配置 编辑:程序博客网 时间:2024/05/17 02:19

说明:
使用python实现一个基于socket的c/s模式文件传输程序。出现error: [Errno 10061]错误。查找资料提示是”目标机器积极拒绝连接”。
原因说法不过有3种:

  1. 检查目的地址或端口号书写出错。
    人工检查一下代码便可排除。
  2. 目标防火墙未关闭。
    使用ping命令,验证目标是否有回应,必要时可用telnet,nmap等工具尝试验证目标端口开放情况。
  3. 软件或网络状况原因。
    查看python是否有联网权限,当前网络是否畅通等。

不过,在排除完所有情况后,发现错误依然存在。
最后,先在自己主机上测试,既充当服务端(写的地址为”localhost”),又充当客户端(写的地址为”127.0.0.1”),发现连接不上。
然后脑洞大开,把原来服务端(接收文件方)写的自己本机的地址”localhost”修改成”127.0.0.1”,就可以正常传输了。
然后发现:
服务端自己的监听地址和客户端书写的服务端地址形式必须要完全对应,或者服务端地址写成空字符串”“形式,表示所有可用地址。程序才能正常传输文件。
意思就是:

1. 服务端和客户端要在一台主机上做测试的话,要不全写成"localhost"或者全写成"127.0.0.1"形式,要不全写成自己的内网IP或外网IP,如"192.168.0.10"形式;2. 不在同一个主机上的话,服务端本地地址不能写成"127.0.0.1"或者"localhost",而要写成自己的内网IP或外网IP形式。3. 最简单一种方法:服务端地址写成""形式。
0 0
原创粉丝点击