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

hawkingyy 发布于 2016/10/30 18:05
阅读 562
收藏 0
同样的程序,同样的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
加载中
0
leo108
leo108

把localhost改成127.0.0.1试试看

0
h
hawkingyy

引用来自“leo108”的评论

把localhost改成127.0.0.1试试看

还是不行,改成其他IP也不行。


0
Feng_Yu
Feng_Yu

看看server端成功绑定没?

netstat -nltp | grep 8002

h
hawkingyy
已经绑定了
0
quanwei9958
quanwei9958

是不是开VPN或者SS全局了

h
hawkingyy
我用的是VMware12,用的NAT的方式联网。和这个有关系吗?
0
快乐的一只小青蛙
快乐的一只小青蛙
这种情况一般是服务端没有正确开启或者端口不对的可能性比较大
h
hawkingyy
服务端已经跑起来了,端口也开了
0
g
giguga
server端跑在vmware的虚拟机中,你用nat方式, 外面当然访问不了。 用bridge方式。
快乐的一只小青蛙
快乐的一只小青蛙
nat模式下,宿主机器不需要任何配置直接访问虚拟机
h
hawkingyy
多谢!!!!
返回顶部
顶部