я плохо знаком с сетевым программированием в Python. Я хотел знать что, каков максимальный пакет размера, который мы можем передать или получить на сокете Python? и как узнать это?
Если вы создаете Bitset
с помощью конструктора Bitset (int nbits)
Вы можете указать емкость. Если вы догадаетесь, что ошибка неправильная, и перейдите, она удвоит размер.
Класс Bitset
имеет метод Trimtosize
, который является частным и называется resightObject и клоном (). Если вы клонируете свой объект или сериализуйте его, он будет обрезать его до правильной длины (при условии, что класс по его расширению расширил его через метод Ennerecapacity).
Фактическое количество данных, которые могут быть отправлены в одном пакете, зависит от того, что максимальный блок передачи ( MTU ) для протокола, который вы используете. Прочитайте статью Wikipedia для получения дополнительной информации.
Это вообще то, о чем вам не нужно беспокоиться, хотя - если вы отправите пакет TCP, который слишком большой, операционная система будет фрагмент (включить его на несколько пакетов) для вас и Это будет собрано на хосте.
Кстати, библиотека розетки Python использует розетки операционной системы, поэтому не имеет ничего особенного для Python.
Я не думаю, что есть какие-либо специфические Python. УДП пакеты имеют теоретический предел kick 65kb и TCP без верхнего предела, но у вас будут проблемы с контролем потока, если вы используете пакеты намного больше, чем несколько килобайт.
Я думаю, что они не находятся на том же уровне, если вы хотите манипулировать сырой упаковкой, посмотрите на DPKT & SCANY .