Я работаю над сетевой программой на Python. Это работает хорошо, но я не понимаю почему.
Вот часть моего основного цикла:
while self.continue :
message = ""
try :
message = self.connexion.recv(1024).decode("utf-8")
except :
pass
Что меня беспокоит, так это то, что инструкция recv(1024)
должна возвращать ограниченное количество символов (максимум 1024, я думаю).
Но она всегда возвращает все сообщение, даже если его длина превышает 1024.
Кто-нибудь может сказать мне, почему?
continue
.try-pass
также скрывает любые потенциальные ошибки. Вы перезаписываете переменнуюmessage
в каждой итерации цикла.connexion
, мы предполагаем, что это объект сокета.Utf8
не выглядит допустимым, вероятно, должно бытьutf-8
. Очень сложно найти проблему с этим фрагментом кода, попробуйте создать меньший пример с меньшим количеством факторов. Документацияrecv
противоречит тому, что вы говорите, поэтому все эти другие факторы могут скрывать проблему. - person slezica   schedule 10.05.2017self.continue
, потому чтоcontinue
— это ключевое слово. - person user2357112 supports Monica   schedule 10.05.2017