赞
踩
第一个小项目是关于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出来的,可以共享。几个共享线程间发送数据,共享一个套接字,把数据
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。