QTCPSERVER在关闭时崩溃

QTcpServer crashes on close

本文关键字:崩溃 QTCPSERVER      更新时间:2023-10-16

我正在编程服务器,我对服务和管理器进行了编程。当我使用UI服务器管理器停止服务器时,服务器调用称为" dopServer()"的函数,该函数包含以下内容:

qDebug() << "Stopping the server...";
// Clear the vector and free the memory by deleting pointers
qDebug() << clients.size();
for(int i=0;i<clients.size();i++){
    clients.get(i)->getSocket()->flush();
    clients.get(i)->getSocket()->close();
    clients.get(i)->getSocket()->disconnectFromHost();
    clients.get(i)->getSocket()->waitForDisconnected(3);
}
clients.destroy();
// Close the server
socket_server->close();
// Stop the handler
qDebug() << "Stopped.";

实际上,"客户端"变量仅是一个包含用户数据的向量,他关闭了每个连接的qtcpsocket,然后清洁客户端变量并将其重置为0。

当我在服务器上有一个连接(UI Manager作为该连接之一)时,我试图停止它时,它会失败。我删除了该向量系统。而且它是静止的,它不会给我任何错误,只会崩溃。

如果您需要所有代码,请告诉我!

(对不起,我的英语不好...)

更新:如果我删除" socket_server-> close()",则没有任何问题。更新#2:似乎是指针删除的问题。idk ....

解决:我很愚蠢!socket_server是一个无效的指针...我只是修复了,就是这样!

omg我是个愚蠢的!socket_server是一个无效的指针...我只是修复了,就是这样!