Отлаживаю приложение рассылающее файлы по узлам сети. Количество узлов задаётся в конф. файле.
Соединение выполняется в след. коде:
if(socket->state()==QAbstractSocket::ConnectedState)
socket->disconnect();
socket->connectToHost(ip,port);
Отлаживаю на своей машине на 2ух узлах. Соот. ip 127.0.0.1 для всех узлов, а port 5678 для первого узла, 1579 для второго.
socket - указатель на QTcpSocket - поле класса, который выполняет весь цикл обмена.
Запускаю два экземпляра приложения-получателя с разными портами 5678 и 1579.
В приложении используется класс, унаследованный от QTcpServer.
На порт подвешивается след. проседурой:
bool MainClass::startListen(quint16 _port)
{
port= _port;
if(!listen(QHostAddress::Any,_port))
{
emit showDebugMes(tr("Не могу запустить прослушку сервера"));
return false;
}
emit showDebugMes(tr("Сервер запущен на порту %2 (%1)").arg(QDateTime::currentDateTime().toString()).arg(QString::number(_port)));
return true;
}
Проблема такая: все файлы идут на сервер слушающий порт 5678. Причем в отладчике проверял порт и в функции startListen() и в socket->connectToHost() - порты передаются соответсвующие, на всё идет на первый сервер. Что за хрень может быть?