linux下最简单的socket客户端报错?报错-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

linux下最简单的socket客户端报错?报错

爱吃鱼的程序员 2020-06-08 21:01:08 85

同样的程序,同样的IDE,同样的python2.7,在windows下可以正常运行,linux下就不行!为什么呢? server没有问题,就client有问题! 
原帖:

http://www.pythontab.com/html/20 ... cheng_0427/377.html

#!/usr/bin/env python
import socket
import time
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('localhost', 8002))
time.sleep(2)
s.send("1")
print s.recv(1024)
s.close()
/usr/bin/python2.7 /home/daniel/PycharmProjects/untitled/client.py
Traceback (most recent call last):
  File "/home/daniel/PycharmProjects/untitled/client.py", line 5, in <module>
    s.connect(('localhost', 8002))
  File "/usr/lib/python2.7/socket.py", line 228, in meth
    return getattr(self._sock,name)(*args)
socket.error: [Errno 111] Connection refused

Process finished with exit code 1
Linux Python Windows
分享到
取消 提交回答
全部回答(1)
  • 爱吃鱼的程序员
    2020-06-08 21:01:26

    把localhost改成127.0.0.1试试看

    引用来自“leo108”的评论

    把localhost改成127.0.0.1试试看

    看看server端成功绑定没?

    netstat-nltp|grep8002

    已经绑定了

    是不是开VPN或者SS全局了

    我用的是VMware12,用的NAT的方式联网。和这个有关系吗?这种情况一般是服务端没有正确开启或者端口不对的可能性比较大服务端已经跑起来了,端口也开了server端跑在vmware的虚拟机中,你用nat方式,外面当然访问不了。用bridge方式。
    nat模式下,宿主机器不需要任何配置直接访问虚拟机多谢!!!!
    0 0
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程