Я разрабатываю приложение, которое имеет смысл, что я завернул мои классы вокруг реализованного QTcpSocket (поскольку это протокол TCP, и мне нужно иметь возможность использовать raw-сокет и добавленные функции как как можно скорее).Qt5 QTcpSocket производный класс и QTcpServer
Таким образом, для простоты, мой код структурирован следующим образом:
class MyTCPSocket : public QTcpSocket
{
Q_OBJECT
// ....
}
class MyTCPServer : public QTcpServer
{
Q_OBJECT
// ....
}
И с QTcpServer функции по умолчанию nextPendingConnection() возвращает экземпляр QTcpSocket, который я не могу бросить до MyTCPSocket (насколько мне известно, QTcpSocket не имеет структуры копирования).
Какой у меня лучший вариант для этого? Я думал, что могу создать новый MyTCPSocket и просто установить дескриптор сокета на тот, который был возвращен nextPendingConnection() из MyTCPServer, но я не был уверен, как это будет работать, когда старый сокет будет удален.
Есть ли лучший способ справиться с этой ситуацией?