我正在尝试使用
QTcpServer::close function
但是当我这样做时:
server->close();
它给了我一个错误,说了一些不同的主题,比如:
QSocketNotifier: Can not disable socket notifiers in a different thread.
实际上,我试图修复它,但我做了,但是然后应用程序抛出了一个关于signals/slots
的错误,该错误无法在另一个帖子中发出。
可能是什么问题?
修改:
class SlotDaemon : public QTcpServer
{
Q_OBJECT
public:
SlotDaemon(void);
~SlotDaemon(void);
void setListeningPort(int port);
void startService();
bool gotError;
string errorInfo;
void stopService();
void pauseService();
void resumeService();
private:
bool d_hndl;
bool stopped;
int listeningPort;
protected:
void incomingConnection(int socketDescriptor);
};
和.cpp
// Stuff...
void SlotDaemon::stopService(){
qDebug() << "Stopping the server...";
// Clear the vector and free the memory by deleting pointers
for(int i=0;i<clients.size();i++){
clients.get(i)->disconnectUser();
}
clients.destroy();
// Close the server
this->close();
qDebug() << "Stopped.";
}
// Stuff