该程序连接到服务器,并且当服务器关闭连接时,如果我尝试重新连接,它会说:socket.error: [Errno 9] Bad file descriptor 如果我关闭客户端中的套接字,然后尝试重新连接,它会说:socket.error: [Errno 106] Transport endpoint is already connected。
socket.error: [Errno 9] Bad file descriptor
socket.error: [Errno 106] Transport endpoint is already connected
有没有办法在管道破裂后重新连接它而不创建新的套接字?
import socket host = '127.0.0.1' port = 1337 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) def loop(): try: while 1: print s.recv(512) except socket.error: #s.close()? connect() def connect(): s.connect((host, port)) loop() connect()
假设这是一个面向连接的套接字:
否。您必须关闭旧的插座并创建一个新的插座,