получение данных через сокет питона - PullRequest
6 голосов
/ 14 ноября 2008

Я делаю программу, которая извлекает прилично большие объемы данных через сокет python, а затем сразу же отключается, когда отправка информации завершена. Но я не уверен, как это сделать

Все примеры в Интернете относятся к клиентам tcp, где у них есть

while 1:
   data = sock.recv(1024)

Но это создает бесконечный цикл для приема данных через сокет, не так ли?

Мне нужно выяснить размер входящего сообщения и перебрать его с шагом в размер буфера, чтобы получить полное сообщение. И после того, как сообщение закончило отправку, я хотел бы отключиться, хотя я думаю, что соединение будет закрыто с другого конца. Любая помощь будет хорошей

Спасибо

1 Ответ

20 голосов
/ 14 ноября 2008

Возможно, вы пропустили очень важную часть этих примеров - строк, следующих за вызовом "recv ()":

while 1:
    data = conn.recv(1024)
    if not data: break
    conn.send(data)
conn.close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...