最近在用QtNetwork编写服务器程序进行TCP/IP通信,大体过程如下:

1. 创建一个QTcpServer实例,监听目标IP和端口;

2. 一旦监听到有连接,获取和客户端之间的socket;

3. 使用socket进行通信;

4. 通信结束后,可以手动释放socket,也可以不管它,在释放QTcpServer的时候会把其下的所有socket全部自动释放。

在编写时,我做了如下事:

TcpNetwork::TcpNetwork()

{

...

connect(mySocket, SIGNAL(disconnect(QTcpSocket*)), this, SLOT(ServerConnectionLost(QTcpSocket*)));

...

}

TcpNetwork::~TcpNetwork()

{

if (tcpServer != NULL)

{

delete tcpServer;

}

}

void TcpNetwork::ServerConnectionLost(QTcpSocket *socket)

{

if (socket == mySocket)

{

...

// debug

delete mySocket;

mySocket = NULL;

...

}

}

这样在关闭程序窗口时会导致崩溃,看了一下QTcpServ

qtcpsocket断开_关于QSocket的释放的一个需要注意的情况(必须先断开连接)相关推荐

  1. ensp 移动主机搜索不到AP信道_案例WiFi信道上的一个坑

    近期处理的一件比较奇怪的投诉,光猫的无线WiFi功能不能使用,其他路由器没问题,险些掉到坑里没爬上来.给大家分享一下. 一.投诉现象 装维人员反映客户投诉光猫的无线WiFi功能突然无法使用. 装维人员 ...

  2. 事务_进程 ID 57_与另一个进程被死锁在 锁 资源上,并且已被选作死锁牺牲品。请重新运行该事务

    事务_进程 ID 57_与另一个进程被死锁在 锁 资源上,并且已被选作死锁牺牲品.请重新运行该事务 问题描述 执行下面这个SQL查询语句时,经常会报这个错!事务_进程 ID 57_与另一个进程被死锁在 ...

  3. wpf指定的元素已经是另一个元素的逻辑子元素。请先将其断开连接。_在60分钟内建立一个无代码应用程序...

    让我们使用Airtable和Appgyver制作一个基本的Web应用程序. 无需编码技能. 我们将使用以下内容建立具有类别的产品目录: · Airtable:用于构建数据的混合数据库服务(第1部分) ...

  4. wifi动不动就断开_手机信号满格,但是WIFI经常掉线!我来教你怎么办

    原标题:手机信号满格,但是WIFI经常掉线!我来教你怎么办 一 WiFi信号好却掉线 大家遇到这种情况一般都是由于手机中设置了休眠模式而导致的,因为手机考虑到功耗的问题,在待机一段时间后就会断开WiF ...

  5. python如何判断tcp异常断开_如何判断TCP连接已经中断?

    用Python写网络应用是很常见的,因此一个常见的问题就是,如何在Python代码中判断TCP链接已经中断? TCP有连接,如果通讯的某一方中断的连接,另外一方在socket层面如何感知?这个问题我也 ...

  6. tcp连接多久会自动断开_苹果M1 Mac用户报告蓝牙连接问题:外设经常会断开

    IT之家 11 月 25 日消息 据外媒 AppleInsider 报道,一些新的 M1 MacBook Air.13 英寸 MacBook Pro 和 Mac mini 的用户正面临蓝牙连接问题,并 ...

  7. accept 阻塞怎么断开_暖气片放水就热不放水了就不热,怎么解决?

    暖气片使用久了,暖气片出现特殊问题就会增多了,特别是一些对暖气片内部不清洗的用户,出现特殊暖气片问题会增多.例如:暖气片一放水就热,不放水了就不热,这是怎么回事?下面跟随金旗舰旗哥一起来了解一下吧. ...

  8. 研一寒假02-指针_new分配内存_使用new来创建动态数组_使用动态数组_使用delete来释放new分配的内存...

    #---------------------------------指针-----------------------------------# #include <iostream> i ...

  9. closewait一直不释放_机床为什么要释放应力?怎么释放应力才好?

    在机床行业内一直有种说法,就是机床需要释放应力,而且越是高精密的机床就越要注意应力的释放,最近就有机床粉向小编询问应力是什么?为什么要释放应力?如果释放要释放多久?怎么释放应力才好等一系列关于机床应力 ...

最新文章

  1. 在CentOS 6.9 x86_64的nginx 1.12.2上安装第三方模块set-misc-nginx-module实录
  2. linux下gate版本管理,Linux安装使用GoldenGate
  3. 电源模块质量好不好,看看以下5点就知道了!
  4. 四元数运动学笔记(1)旋转的表示
  5. ElasticSearch 2 (18) - 深入搜索系列之控制相关度
  6. 父与子的编程之旅---1出发吧2记住内存和变量3数学运算45输入6GUI7判断8转圈圈9注释
  7. 使用selenium爬取搜狗微信文章
  8. 适合开发者使用的6款浏览器,开发者工具很实用
  9. mysql 索引 insert_Mysql 大批量数据insert or update与UQ索引
  10. 运行VBS权限受限,需要用Run as Administrator的cmd窗口来运行
  11. vue-生成二维码【生成、点击输入框内叉号移除生成的二维码、输入框聚焦】
  12. uni-app开发的h5,使用微信授权登录(前置条件+具体代码)
  13. 北京个体户税务申报如何办理?
  14. 【日常实用】git的简单使用
  15. 企业ERP管理系统使用说明
  16. 动漫人物头发怎么画(头发画法步骤)
  17. 正在连接192.168.56.101...无法打开到主机的连接。 在端口 1521: 连接失败
  18. 小白de架构哲学 - SDK接口设计对接流程
  19. 关于计算机技术的英文,关于计算机技术在教育中的多方应用 中英文对照.doc
  20. 天赋 VS 勤奋,“一万小时定律” 没你想得那么简单

热门文章

  1. STM32H7 DMA USART空闲中断接收不定长数据
  2. vin码构成以及自动识别的用途。
  3. navicat远程连接腾讯云主机中MySQL
  4. 水卡修改金额_【技术分享】关于IC卡,水卡修改控制位教程
  5. 每日新闻:麦肯锡:未来10年 人工智能为全球GDP贡献1.2%增长;工信部下发第19批CDN、云服务牌照...
  6. kafka sasl java_Kafka 集群配置SASL+ACL
  7. Mac无法连接到WiFi怎么办?帮您恢复在线的最佳解决方案
  8. 【Python】定义函数求解一元二次方程
  9. 蓝绿黄车牌识别(附Python代码)
  10. 【SIFT算法】极值检测关键点精确定位