【发布时间】:2016-03-23 12:07:56
【问题描述】:
当我尝试在 Linux 终端中执行 Python 服务器套接字程序和客户端套接字程序(都在同一台 linux 机器上运行)我没有收到任何错误时,服务器接受连接并向客户端发送数据成功。
但是当我在 python IDLE 中执行相同的程序时,我得到“[Errno 111] Connection denied”错误。
这两种执行方式有什么区别?
我在服务器中使用serversock.bind(('',port#))
在客户端我使用clientsock.connect(('localhost',port#))
服务器.py
import socket
serversock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
host = ''
print host
port = 5800
serversock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
serversock.bind((host,port))
serversock.listen(2)
try:
while True:
csock,addr = serversock.accept()
print 'Recieved address from %s '% str(addr)
csock.send('hello')
csock.close()
except Exception,e:
print e
client.py
import socket
try:
c = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
host = 'localhost'
port = 5800
c.connect((host,port))
data = c.recv(1024)
print data
except Exception,e:
print e
finally:
c.close()
【问题讨论】: