• 2963阅读
  • 3回复

[讨论]QT socket 通信自动发送数据 [复制链接]

上一主题 下一主题
离线逗比123
 

只看楼主 倒序阅读 楼主  发表于: 2018-04-27
    我把要发送的数据写入了一个txt文档,然后在textedit里通过QFile 已逐条读取的方式打开,手动点击发送按钮,数据能正常发给接收端,当我使用定时器每2秒让其自动发送一组数据时,前两个数据能正常接收,后面的就会出现黏包,界面还会卡死,请问大神们这是为什么?

发送端程序:


接收端程序:Python写的

接收端运行的结果:

要发送的数据:

离线liudianwu

只看该作者 1楼 发表于: 2018-04-28
你这是要死啊,在timer的槽函数中new timer。
欢迎关注微信公众号:Qt实战/Qt入门和进阶(各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发) QQ:517216493  WX:feiyangqingyun  QQ群:751439350
离线flmy

只看该作者 2楼 发表于: 2018-04-28
你这个逻辑确实不对,在timer槽函数里new timer,这是一个递归死循环,程序肯定会崩溃的,这是逻辑问题,不能这样设计的,你可以在这个主类的构造函数创建timer,timer槽函数负责发送
4条评分好评度+1贡献值+1金钱+10威望+1
逗比123 好评度 +1 - 2018-04-29
逗比123 贡献值 +1 - 2018-04-29
逗比123 威望 +1 - 2018-04-29
逗比123 金钱 +10 - 2018-04-29
离线逗比123

只看该作者 3楼 发表于: 2018-04-29
回 flmy 的帖子
flmy:你这个逻辑确实不对,在timer槽函数里new timer,这是一个递归死循环,程序肯定会崩溃的,这是逻辑问题,不能这样设计的,你可以在这个主类的构造函数创建timer,timer槽函数负责发送 (2018-04-28 13:54) 

那样我试过,在主类中创建timer,在 timer的槽函数中启动,timer但程序会突然崩溃
快速回复
限100 字节
 
上一个 下一个