Я закодировал базовую систему сокетов с «select». Я хочу получить список подключенных клиентов мгновенно.Socket refresh python
Когда тайм-аут «выберите» прошло и несколько клиентов приходят после того, как, это драма ..
Пример - проблемы: У меня есть 3 клиентов с тем, который соединяет до истечения времени ожидания, 2 других подключены после тайм-аут, поэтому я собираюсь обновить свой список, если он принял во внимание двух других клиентов после таймаута.
1-й результат: я показываю свой переменный «список», я вижу первый сокет, который подключен до таймаута + один из другого сокета, который подключен после таймаута. Всего: 2 из 3 клиентов
второго результата: Я до сих пор повторно отобразить мой переменный «список», а три клиента есть ....
Но я хочу, чтобы список без необходимости повторного отображения перечислите каждый раз для каждого клиента, которого вы можете себе представить, у меня есть 10 клиентов, и я должен показать свой список10 раз
Итак, я подумал использовать модуль асинхронности, который более жидкий, что вы думаете? У вас есть решение для меня (проще)? Должен ли я использовать многопоточность или оставаться на асинхронном или выбрать модуль?
EDIT ИСХОДНЫЙ КОД:
import socket, select
hote = ''
port = 81
mainConnection = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
mainConnection.bind((hote, port))
mainConnection.listen(5)
print("Listen to {}".format(port))
client_online = []
while True:
connection_access, wlist, xlist = select.select([mainConnection], [], [], 10)
for connexion in connection_access:
connection_client, infos_connexion = connexion.accept()
client_online.append(connection_client)
refresh = input(">>> ")
while True:
try:
refresh = int(refresh)
except ValueError:
print("Not allowed")
refresh = int(refresh)
else:
break
if refresh == 1:
print("List client : {}".format(client_online))
'select' должен возвращаться, когда по крайней мере один из сокетов в наборах готов. –
нет:/i должен вернуть список 2 раза для шоу 3 клиента ... – Wiz
Пожалуйста, покажите код, который вы используете, или, по крайней мере, [SSCCE] (http://sscce.org/). –