我想了解套接字是如何工作的,所以我浏览了何图和文档,并尝试编写自己的代码。服务器端如下所示:
ssock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
assert socket.gethostname() == HOST
ssock.bind((HOST, PORT))
ssock.listen(5)
while True:
csock, address = ssock.accept()
print('Accepted connection from', address)
t = threading.Thread(target=server, args=(csock,))
t.start()客户方是:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((HOST, PORT))这些都在一个模块中,所以常量是相同的。这不管用。当我尝试连接时,我会得到一个ConnectionRefusedError: [Errno 111] Connection refused。
然而,
这些情况的结合使我困惑不解。有人能解释一下这种行为吗?
编辑:如果在服务器代码中使用IP,似乎可以与HOST连接。但是为什么它不像在如何操作中那样工作呢?
发布于 2013-02-03 17:08:29
绑定到"“而不是宿主:
ssock.bind(("", PORT))https://stackoverflow.com/questions/14674416
复制相似问题