Обнаружение соединения закрывается на сервере чата, написанном на Python 3 - PullRequest
0 голосов
/ 04 февраля 2011

Обычно серверы чата Python содержат следующие строки:

while 1:
    data = conn.recv(1024)
    if not data: break

где соединение conn было определено как:

conn, addr = s.accept()

Мне кажется, что когда соединение закрывается, клиент отправляет пустую строку на сервер. Я прав?

Ответы [ 2 ]

0 голосов
/ 05 февраля 2011

В блокирующем сокете recv () блокируется, пока он не сможет вернуть хотя бы один байт данных.Если другой конец закрывает сокет, recv () возвращает пустую строку (ноль байтов данных).

0 голосов
/ 04 февраля 2011

Да, это правильно.

И теперь этот ответ уже не слишком короткий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...