【发布时间】:2011-12-06 15:40:47
【问题描述】:
我一直试图了解套接字是如何工作的,并且我一直在尝试挑选一些我在this page 找到的示例代码,用于一个非常简单的客户端套接字程序。由于这是基本示例代码,我认为它没有错误,但是当我尝试编译它时,我收到以下错误消息。
文件“client.py”,第 4 行,在 client_socket.connect(('localhost', 5000)) 文件“”,第 1 行,在连接中 socket.error: [Errno 111] 连接被拒绝
我已经用谷歌搜索了这个错误的几乎每个部分,遇到类似问题的人似乎通过更改端口号、使用“连接”而不是“绑定”以及其他一些事情得到了帮助,但它们都不适用于我的情况。非常感谢任何帮助,因为我对网络编程很陌生,对 python 也很陌生。
顺便说一下,如果链接由于某种原因不起作用,这里是代码。
#client example
import socket
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect(('localhost', 5000))
while 1:
data = client_socket.recv(512)
if ( data == 'q' or data == 'Q'):
client_socket.close()
break;
else:
print "RECIEVED:" , data
data = raw_input ( "SEND( TYPE q or Q to Quit):" )
if (data <> 'Q' and data <> 'q'):
client_socket.send(data)
else:
client_socket.send(data)
client_socket.close()
break;
【问题讨论】:
-
@TheTromboneWilly Python 解释器肯定会讨厌它,就像在
SyntaxError中一样:D -
@JSmyth 不在 Python 2 中
-
@TheTromboneWilly 有充分的理由切换到 3 然后 (;
-
@JSmyth 同意,还有许多其他原因!
-
我遇到了同样的问题,问题是我的 Ubuntu 机器上没有正确配置“localhost”。我用 '' 替换,这解决了问题。
标签: python sockets networking