#python-sockets
#python-сокеты
Вопрос:
У меня есть проект, который чрезвычайно чувствителен к задержкам и уже довольно давно использует сокеты. Однако, после синхронизации отдельных частей моего кода для его оптимизации, я увидел, что функция .recv непоследовательна во времени и работает слишком медленно для моего случая. Среднее время составляет примерно 0,05 секунды с приблизительным диапазоном от 0,5 секунды до 0,0005 секунды. В идеале число должно быть как можно ближе к 1 мс (.001) с минимальными изменениями. Я попытался установить TCP_nodelay и setblocking(False), оба из которых дали минимальное улучшение. Я должен упомянуть, что я отправляю менее 128 байт на одно устройство и 1 байт на другое, поэтому пакеты очень маленькие. Я установил правильный размер буфера для каждого recv. Я бы предпочел держаться подальше от UDP, если это возможно. Есть предложения?
Спасибо!
Jah-On
Комментарии:
1. Как насчет уменьшения размера буфера до 128 КБ?
2. @George Y, у меня есть соответствующий размер буфера или MTU, установленный для каждого приема. Спасибо за вашу мысль!