如何正确关闭QTcpServer

时间:2012-11-08 21:25:56

标签: c++ qt qtcpserver

我正在尝试使用

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

0 个答案:

没有答案