В моем коде TCP-сервера есть потери пакетов:
clientConnection = new QTcpSocket(this);
tcpServer = new QTcpServer();
connect(tcpServer, SIGNAL(newConnection()), this, SLOT(newConnect()));
void frmMain::newConnect()
{
clientConnection = tcpServer->nextPendingConnection();
connect(clientConnection, SIGNAL(readyRead()),
this, SLOT(receivePkg()));
connect(clientConnection, SIGNAL(disconnected()),
clientConnection, SLOT(deleteLater()));
}
void frmMain::receivePkg()
{
read_size = clientConnection->read(buf_c, READ_BUF_SIZE);
Прием делаю в потоке GUI.
Понимаю, что надо сделать в отдельном потоке и, возможно, назначить ему приоритет, но не имею практического опыта как это правильно сделать.
Подскажите как создать TCP-сервер:
-принимает 10+ пакетов (1 пакет = длина 200+ байт) в 1 мс
-прием пакетов длится более 10 мин
-без потерь пакетов
Покажите правильный код сервера.