Добрый день. Есть два стула скрипта:первый-сервер, второй- клиент.
Для проверки на отключение клиента сервер использует такой код
data = conn.recv(1024)
if not data:
    break
s = socket.socket()
s.connect((host, port))
try:
    while True:
        buf = input(">>")
        s.send(bytes(buf.encode('utf-8')))
        data=s.recv(1024)
        print (data.decode("utf-8"))
finally:
    s.close()
class client(threading.Thread):
    def __init__(self, sock):
        self.sock=sock
        threading.Thread.__init__(self)
    def run(self):
        try:
            while 1:
                data = self.sock.recv(1024)
                print (data.decode("utf-8"))
        finally:
            self.sock.close()
            return
s = socket.socket()
s.connect((host, port))
th=client(s)
th.start()

