我正在開發一個有意義的應用程序,我周圍實施的QTcpSocket包裹我的類(因爲它是一個TCP協議,我需要能夠使用原始套接字和添加的功能作爲儘可能無差別)。Qt5 QTcpSocket派生類和QTcpServer
所以,爲了簡單起見,我的代碼的結構是這樣的:
class MyTCPSocket : public QTcpSocket
{
Q_OBJECT
// ....
}
class MyTCPServer : public QTcpServer
{
Q_OBJECT
// ....
}
而且隨着QTcpServer既可,默認nextPendingConnection()函數返回的與QTcpSocket一個實例,我不能投達MyTCPSocket(據我所知,QTcpSocket沒有複製結構)。
我最好的選擇是什麼?我在想我可以創建一個新的MyTCPSocket,並簡單地將套接字描述符設置爲MyTCPServer的nextPendingConnection()返回的套接字描述符,但我不確定在舊套接字被刪除時這是如何工作的。
有沒有更好的方法來處理這種情況?