Qt客户服务端传输数据总结

本文介绍了使用Qt进行多线程网络传输的实践经验,涉及服务端如何每隔1秒发送不同报文,客户端如何接收并显示报文内容及统计报文个数。重点讨论了线程间数据共享、自定义信号、结构体通过套接字传输的方法,以及Qt中的多线程开启方式。同时,作者指出在项目中避开了Qt的网络套接字,选择使用Windows系统套接字,并提出未来将对通讯模块进行独立设计。
摘要由CSDN通过智能技术生成

第一个小项目是关于Qt多线程与网络传输的。
环境:VS2015+QT5.3(或者任意的其他版本的VS+QT组合)
要求:分别编写一个客户端和服务器端的程序,程序A作为客户端,程序B作为服务器端,具体要求如下(期限3到5天时间):
a)程序B需要每隔1秒向程序A不停的传送报文1,报文2和报文3三种报文,用多线程的方式实现三种报文的发送。报文采用结构体进行定义(包括报文头,报文数据,报文尾三部分),报文数据也用结构体的形式进行定义。
b)程序A的界面需要三个元素:
1)可以进行服务器端IP和端口号配置的输入框;
2)需要对程序B发过来的报文内容进行显示(只需要显示报文数据内容,不需要显示报文头和尾);
3)需要一个列表用来对不同类型的报文的个数进行统计,列表列名包括报文名字和报文个数(报文个数需要实时统计)。
c)通迅部分采用的通讯机制,不做强制要求,以实现为目的;其他部分需要采用QT实现。
这个题目我的思路是:
首先解决服务端的数据发送问题:
初始化网络环境–>初始化套接字–>等待客户端连接–>接入套接–>初始化三个线程并把套接字传入–>发送数据
客户端接收数据:
初始化网络环境–>初始化套接字–>连接服务器–>获取套接字数据存入缓存池–>刷新界面数据

期间遇到的疑惑:

线程间共享数据?
线程间贡献一个数据,好像只要不是new出来的,可以共享。几个共享线程间发送数据,共享一个套接字,把数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值