我在專用線程中使用QTcpSocket
。關閉此主題,我有一個個人插槽連接disconnected
信號的QTcpSocket
。該槽包含socket.close()
指令。從另一個線程關閉QTcpSocket
class Network
{
private:
QTcpSocket *mp_Socket;
public:
void connection()
{
mp_Socket = new QTcpSocket(this);
// Move to thread
connect(mp_Socket, SIGNAL(disconnected()), this, SLOT(disconnect()));
}
public slots:
void disconnect()
{
mp_Socket->close();
}
};
在這裏,插槽工作(即使套接字在另一個線程中)。 但是,如果我自己打電話斷開插槽,我有以下錯誤:
「在QSocketNotifier:插座通知者不能從另一個線程關閉」。
爲什麼?
感謝您的幫助。 ;)
您是否嘗試過從另一個線程發出信號? – gengisdave
套接字成員的套接字操作已關閉。 鏈接到外部數據條件。 使追蹤操作變得困難。 – dsgdfg
我試圖發出一個信號作爲與斷開信號的QTcpSocket,但我有同樣的錯誤。 – Maluna34