开发者社区> 问答> 正文

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

同样的程序,同样的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

展开
收起
爱吃鱼的程序员 2020-06-08 21:01:08 716 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    把localhost改成127.0.0.1试试看

    引用来自“leo108”的评论

    把localhost改成127.0.0.1试试看

    看看server端成功绑定没?

    netstat-nltp|grep8002

    已经绑定了

    是不是开VPN或者SS全局了

    我用的是VMware12,用的NAT的方式联网。和这个有关系吗?这种情况一般是服务端没有正确开启或者端口不对的可能性比较大服务端已经跑起来了,端口也开了server端跑在vmware的虚拟机中,你用nat方式,外面当然访问不了。用bridge方式。
    nat模式下,宿主机器不需要任何配置直接访问虚拟机多谢!!!!
    2020-06-08 21:01:26
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载