The program connects to a server, and when the connection is closed by the server, if I try to reconnect it says: socket.error: [Errno 9] Bad file descriptor
If I close the socket in the client and then i try to reconnect, it says: socket.error: [Errno 106] Transport endpoint is already connected
.
Is there a way to reconnect it after a broken pipe without creating a new socket?
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()
Assuming this is a connection oriented socket:
No. You have to close the old one and create a new socket,
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With