Improve server socket problem detection
This commit is contained in:
parent
3ba52cf1a0
commit
856feab62d
17
IRCServer.py
17
IRCServer.py
@ -192,14 +192,17 @@ class IRCServer(server.Server):
|
|||||||
|
|
||||||
|
|
||||||
readbuffer = b'' #Here we store all the messages from server
|
readbuffer = b'' #Here we store all the messages from server
|
||||||
while not self.stop:
|
try:
|
||||||
readbuffer = readbuffer + raw
|
while not self.stop:
|
||||||
temp = readbuffer.split(b'\n')
|
readbuffer = readbuffer + raw
|
||||||
readbuffer = temp.pop()
|
temp = readbuffer.split(b'\n')
|
||||||
|
readbuffer = temp.pop()
|
||||||
|
|
||||||
for line in temp:
|
for line in temp:
|
||||||
self.treat_msg(line)
|
self.treat_msg(line)
|
||||||
raw = self.s.recv(1024) #recieve server messages
|
raw = self.s.recv(1024) #recieve server messages
|
||||||
|
except socket.error:
|
||||||
|
pass
|
||||||
|
|
||||||
if self.connected:
|
if self.connected:
|
||||||
self.s.close()
|
self.s.close()
|
||||||
|
10
server.py
10
server.py
@ -126,7 +126,10 @@ class Server(threading.Thread):
|
|||||||
"""Close the socket with the server"""
|
"""Close the socket with the server"""
|
||||||
if self.connected:
|
if self.connected:
|
||||||
self.stop = True
|
self.stop = True
|
||||||
self.s.shutdown(socket.SHUT_RDWR)
|
try:
|
||||||
|
self.s.shutdown(socket.SHUT_RDWR)
|
||||||
|
except socket.error:
|
||||||
|
pass
|
||||||
|
|
||||||
self.stopping.wait()
|
self.stopping.wait()
|
||||||
return True
|
return True
|
||||||
@ -139,7 +142,10 @@ class Server(threading.Thread):
|
|||||||
self.stop = True
|
self.stop = True
|
||||||
self.connected = False
|
self.connected = False
|
||||||
#Send a message in order to close the socket
|
#Send a message in order to close the socket
|
||||||
self.s.send(("Bye!\r\n" % self.nick).encode ())
|
try:
|
||||||
|
self.s.send(("Bye!\r\n" % self.nick).encode ())
|
||||||
|
except:
|
||||||
|
pass
|
||||||
self.stopping.wait()
|
self.stopping.wait()
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user