для обслуживания (отправки сообщений) будущих будущих клиентов
Это предложение трудно понять. Моя интерпретация заключается в том, что вы хотите, чтобы sendUpdate
отправлял сообщения всем клиентам, кроме первого (по заказу при подключении).
но обслуживает только первый клиент
Это так же сложно. Моя интерпретация заключается в том, что вы наблюдаете поведение, при котором только первый клиент (заказанный при подключении) получает любые сообщения от сервера.
Вот ваш код для отправки сообщений клиентам:
connectedList[0].write('<update ' + str(updateCounter) + '>')
Обратите внимание, что этот код всегда отправляет сообщение на connectedList[0]
. Таким образом, он только отправляет сообщение одному клиенту - независимо от их количества - и всегда выбирает first client в connectedList
(что соответствует первому клиенту для подключиться к серверу).
Возможно, вы захотите что-то еще подобное:
for c in connectedList[1:]:
c.write('<update ' + str(updateCounter) + '>')
Обратите внимание, как это отправляет сообщение более чем одному клиенту.
Кроме того, независимо от вашего вопроса, вам следует прекратить использование глобальных переменных и избегать использования чистого ITransport
в качестве интерфейса протокола.