LINUX.ORG.RU

Qt + сеть


0

2

Есть девайс который рас в 1 милисекунду шлет 2 udp пакета компу (всего 2720 байт). Прога написанная при помощи Qt под Mac OS X работает как часы, собираешь прогу под винды прога 2 - 3 раза в секунду пропускает 7 - 10 пакетов. Теперь вопрос: кто писал кросс-платформенные приложения правда что хрюша и правда такое Г что в принципе не может справиться с такой задачей и надо чинить не прогу а начальству лечить винду головного мозга?

буфферы сокета увеличивал? приоритеты крутил? исходники покажи

докажи что офтопик не занимал сеть в это время (Шындофс апдейт и т.д.) что кашпировский не лечил чтонибудь и т.д.

А вообще - оффтопик никогда не был системой ну хоть сколько нибудь реального времени. о каких гарантиях можно говорить?

mmarkk
()
Ответ на: комментарий от mmarkk

В Qt для udp нет функции по увеличению входных буферов, как это сделать в голой системе не знаю. Приоритет читающего потока максимальный.

ЗЫ: какие гарантии можно просить от ......, я иллюзий не испытываю.

mskmsk1985
() автор топика
Ответ на: комментарий от mskmsk1985

Вообще она есть - setReadBufferSize но

QUdpSocket does not use any buffering at all, but rather relies on the implicit buffering provided by the operating system. Because of this, calling this function on QUdpSocket has no effect

Задай размер буфера ОС:

int sz = ...
setsockopt( sock.socketDescriptor(), SOL_SOCKET, SO_RCVBUF, 
            reinterpret_cast< char* >( &sz ), sizeof( sz ) )
summatus
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.