Python socket. Клиенты получают бесконечные пустые сообщения от сервера

Нужно сделать программу, которая будет подсчитывать количество копий самой себя запущенных. Первый экземпляр программы запускается в качестве сервера.

Пока что имеется такой код:

import socket, errno  s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  try:     n = 0     s.bind(('', 14900))     print('Количество копий программы: ', n)     s.listen(10)      while True:         conn, addr = s.accept()         n+=1         print('Количество копий программы: ', n)         broadcast = ('Количество копий программы: ' + str(n)).encode()         conn.sendto(broadcast, ('255.255.255.255', 14900))     conn.close()  except Exception as e:     if e.errno == errno.EADDRINUSE:         s.connect(('localhost', 14900))          while True:             data = s.recv(1024).decode()             print(data)          s.close()      else:         print(e)   

Проблема в том, что при запуске 2х и более копий, всем предыдущим открытым клиентам приходит бесконечное количество пустых сообщений.

И можно ли как-то со стороны сервера отследить убийство процесса одного/нескольких запущенных клиентов, подключенных к нему?