qt tcpsocket 跨线程

风声边界 2012-06-04 03:24:49
继承Q w i d g e t 声明变量QtcpSocket关联其connected readyread信号到onConnectted,onReadyread,实现文件传输,独立运行时没有问题,但是将其作为主窗口的中央部件时,报段错误,猜测是多线程问题,是否需要将QTcpsocket封装到线程中,得高手指点。
...全文
280 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
风声边界 2012-06-11
  • 打赏
  • 举报
回复
谢谢楼上两位,确实是不需要封装到线程
很久没来了,现在结贴,谢谢
念茜 2012-06-05
  • 打赏
  • 举报
回复
socket的连接是异步的,试试看分别加入waitForConnected()和waitForBytesWritten()
zhu_xz 2012-06-04
  • 打赏
  • 举报
回复
不需要,QTcpSocket完全可以跨线程
源码链接: https://pan.quark.cn/s/e506f42c2714 QT作为一个平台的应用程序开发框架,其前身是由Trolltech公司(后为Nokia所拥有)所设计,该框架内置了丰富的库资源,能够支持图形用户界面(GUI)的设计工作、网络通信的实现以及多媒体内容的处理等多样化功能。在本项研究中,“基于TCP Socket的共享白板系统运用了QT框架”指的是一个通过QT库进行开发、利用TCP Socket技术完成信息交互的多人合作工具。接下来将系统性地阐述QT库、TCP Socket协议以及共享白板的核心概念。1. QT库: - QT库供给了一系列完整的C++类组件,这些组件涵盖了图形用户界面的构建、事件管理机制、网络编程接口、数据库连接功能、XML文件的解析与生成、多线程程序的执行等多个方面,使得开发者能够迅速构建出具备高性能且可在不同平台上运行的应用程序。 - QT库具备广泛的操作系统兼容性,包括Windows操作系统、Linux发行版、macOS系统、Android移动平台和iOS移动平台,展现出卓越的平台工作能力。 - 在图形用户界面设计领域,QT提供了QWidgets组件集和QML描述语言,允许开发者创建出具有复杂交互逻辑的用户界面。 - QT Creator作为其配套的集成开发环境,整合了代码编写工具、项目构建工具、程序调试工具以及版本控制工具,显著提升了开发工作的效率。2. TCP Socket: - TCP(Transmission Control Protocol)是一种以建立连接为基础、提供可靠数据传输服务、基于字节流传输模式的网络层通信协议。 - 在QT框架中,网络通信功能主要通过QT的网络模块,即QTcpSocke...

21,491

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧