Название: Qt4.1, TCP-server, 150 kbit/s, Ethernet, Windows Отправлено: Eugene K от Ноябрь 03, 2019, 09:30 В моем коде TCP-сервера есть потери пакетов:
Код: clientConnection = new QTcpSocket(this); Прием делаю в потоке GUI. Понимаю, что надо сделать в отдельном потоке и, возможно, назначить ему приоритет, но не имею практического опыта как это правильно сделать. Подскажите как создать TCP-сервер: -принимает 10+ пакетов (1 пакет = длина 200+ байт) в 1 мс -прием пакетов длится более 10 мин -без потерь пакетов Покажите правильный код сервера. Название: Re: Qt4.1, TCP-server, 150 kbit/s, Ethernet, Windows Отправлено: Old от Ноябрь 03, 2019, 09:56 При срабатывании сигнала readyRead в буфере приема могут быть несколько пакетов, в слоте receivePkg вы должны вычитывать все принятые пакеты.
До прихода новых данных сигнал readyRead эмитется не будет или нужно отключать буферизацию в сокете. Но лучше вычитывать все пакеты. |