Здравствуйте!
У меня есть tcp-сервер (QTcpServer). К нему пытаются установить подключения другие сокеты.
Я должен решать, каким сокетам можно подсоединиться, а каким нет. Критерий выбора - ip адрес.
Я проверяю разрешон ли ip адрес, так:
MyTcpServer::incomingConnection ( int socketDescriptor )
{
QTcpSocket *tmp_socket = new QTcpSocket(this);
tmp_soket->setSocketDescriptor(socketDescriptor);
if( tmp_socket->peerAddress().toString() == "192.168.2.2" )
{
tmp_socket->close();
//Главная строка! Повторное использование 'socketDescriptor'.
MyCustomSocket->setSocketDescriptor(socketDescriptor);
}
}
То есть если адрес разрешен, то я закрываю временный сокет, и передаю этот же дескриптор своему custom сокету (MyCustomSocket).
Можно ли так делать, использовать идин и тот же 'socketDescriptor' 2 раза, поочереди, в разных сокетах?Повторяю, что после первого использования 'socketDescriptor', я закрывю сокет. Ведь в assistant написано, что нельзя использовать
одновременно 2 открытых сокета с одним и тем же .