То, что максимальный размер пакета является сокетом Python, может обработать?

я плохо знаком с сетевым программированием в Python. Я хотел знать что, каков максимальный пакет размера, который мы можем передать или получить на сокете Python? и как узнать это?

5
задан Rise 19 January 2010 в 04:35
поделиться

3 ответа

Если вы создаете Bitset с помощью конструктора Bitset (int nbits) Вы можете указать емкость. Если вы догадаетесь, что ошибка неправильная, и перейдите, она удвоит размер.

Класс Bitset имеет метод Trimtosize , который является частным и называется resightObject и клоном (). Если вы клонируете свой объект или сериализуйте его, он будет обрезать его до правильной длины (при условии, что класс по его расширению расширил его через метод Ennerecapacity).

-121--2461674-

Фактическое количество данных, которые могут быть отправлены в одном пакете, зависит от того, что максимальный блок передачи ( MTU ) для протокола, который вы используете. Прочитайте статью Wikipedia для получения дополнительной информации.

Это вообще то, о чем вам не нужно беспокоиться, хотя - если вы отправите пакет TCP, который слишком большой, операционная система будет фрагмент (включить его на несколько пакетов) для вас и Это будет собрано на хосте.

Кстати, библиотека розетки Python использует розетки операционной системы, поэтому не имеет ничего особенного для Python.

5
ответ дан 14 December 2019 в 13:36
поделиться

Я не думаю, что есть какие-либо специфические Python. УДП пакеты имеют теоретический предел kick 65kb и TCP без верхнего предела, но у вас будут проблемы с контролем потока, если вы используете пакеты намного больше, чем несколько килобайт.

1
ответ дан 14 December 2019 в 13:36
поделиться

Я думаю, что они не находятся на том же уровне, если вы хотите манипулировать сырой упаковкой, посмотрите на DPKT & SCANY .

0
ответ дан 14 December 2019 в 13:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: