Python保持套接字活着?

时间:2011-03-05 03:10:52

标签: python sockets loops tcp connection

嘿我正在使用套接字处理python项目。基本上我想循环连接到主机以进行用户输入。这是我正在尝试的:


while True:
    sock.connect((host, port))
    inputstring = " > "
    userInput = raw_input(inputstring)
    sock.send(userInput + '\r\n\r\n')
    recvdata = sock.recv(socksize)
    print(recvdata)

但是当我循环套接字并尝试连接到端口80上的localhost时,我得到一个错误,说传输端点仍然连接或类似的东西。我怎样才能消除这个问题呢?

3 个答案:

答案 0 :(得分:2)

connect循环之外调用while。您只需要连接一次。

答案 1 :(得分:1)

sock.connect放在while True之外。

答案 2 :(得分:0)

您只需连接一次主机,然后就可以运行循环了。尝试:

sock.connect((host, port))
while True:
    inputstring = " > "
    # etc

如果您的循环体是sock.close(),则需要在循环顶部再次.connect()。但是你可能不希望每次断开连接并重新连接,所以请执行以上操作。