#python-3.x #sockets #packet
Вопрос:
Когда вы получаете данные из UDP-сокета в python, дает ли он вам один фрагмент дейтаграммы или объединяет несколько фрагментов?
Есть ли способ получить только один UDP-пакет за раз?
Комментарии:
1. Вы гарантированно получите ровно один UDP-пакет за каждый успешный вызов recv ().
2. Еще один вопрос: что произойдет, если вы вызовете функцию recv, а ваши байты будут меньше размера пакета?
3. В этом случае recv() скопирует только столько байтов, сколько может поместиться в ваш буфер (т. Е. указанное вами число), а остальные байты пакета будут потеряны/недоступны.