gpt4 book ai didi

c++ - QTcpServer 在关闭时崩溃

转载 作者:太空宇宙 更新时间:2023-11-04 14:13:00 26 4
gpt4 key购买 nike

我正在为服务器编程,我为服务和管理器编程。当我使用 UI 服务器管理器停止服务器时,服务器调用一个名为“stopServer()”的函数,该函数包含以下内容:

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.";

实际上,那个“clients”变量只是一个包含用户数据的 vector ,他为每个连接关闭QTcpSocket,然后清除clients变量并将其重置为0。

当我在服务器上有一个连接(UI 管理器作为该连接之一)时,我试图停止它,但它失败了。我删除了那个 vector 系统。它仍然无法正常工作,它没有给我任何错误,只是使应用程序崩溃。

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

(抱歉我的英语不好...)

更新:如果我删除“socket_server->close()”,它可以正常工作。更新#2:似乎是指针删除的问题。不知道....

已解决:天哪,我是个笨蛋! socket_server 是一个空指针...我刚刚修复了它,仅此而已!

最佳答案

天哪,我是个笨蛋! socket_server 是一个空指针...我刚刚修复了它,仅此而已!

关于c++ - QTcpServer 在关闭时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13280436/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com