欢迎来到天天文库
浏览记录
ID:28009306
大小:463.50 KB
页数:12页
时间:2018-12-07
《基于qt的tcpsocket通信程序-猜字游戏》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、附录炭入式糸洗应用题目:基于QT的TCPsocket通信程序课程名:嵌入式院系:专业班级:学号:学生姓名:2010年月曰1.需求分析21.1程序设计的任务21.4系统的功能结构图21.3输形式21.2输入的形式和输入值的范围2(a)客户端的功能结构图2(b)服务端的功能结构图31.5QT的简介32.概要设计32.1QT屮的信号与槽32.2linux下TCPsocket通信的C/S模型52.3主要的类及抽象数据类型的定义53.详细设计63.1程序的结构及各功能模块实现的算法6(a)客户端的算法模块6(b)服务端的算法模块73.2程序设计到交叉编译
2、运行的具体操作步骤74.调试分析104.1调试过程中遇到的问题及解决方法104.2设计算法的思路和改进设想104.3经验和体会105.测试结果116.参考文献111.需求分析1.1程序设计的任务由于是用程序实现界面的设计,而不是用QT设计器,所以在程序里必须用QT语言设计client客户端和server服务端的界面;客户端的程序主要是实现客户端界面设计、创建socket以及连接各种各样的信号和实现界面上各种按键的功能。服务端的额程序是主要实现处理客户端的请求、处理服务器新的连接和为服务器提供一个GUI界面。1.2输入的形式和输入值的范用键盘输入
3、数据,并II数据必须是在0到9的范围内的整数。1.3输出的形式当输入时0到9内的任何一个整数时,如果与事先随机产生的数字相等,则提示用户猜对了,否则,提示错误并把正确数字发送给客户显示出来。当输入的是字符或空格时,将提示输入0到9范围内的数字。1.4系统的功能结构图(a)客户端的功能结构图:(b)服务端的功能结构图:显示新连接没有任何显示:关闭1.5QT的简介Qt是一种跨平台的C++图形界面(GUI)工具包,它是TrollTech化公司的标志产品,Qt是目前KDE等项目使用的GUI支持库,Qt工具包括用于商业性质的商业版和用于开发自由软件的两种
4、不同的版本,用自由版开发软件必须作为自由软件公布。Qt支持所有Unix系统,当然也包拈Linux系统,还支持Windows等系统。Qt是完全面向对象的,提供了丰富的窗口部件集,给应用程序开发者建立艺术级的图形用户界面所需的应用功能。而且很容易扩展,允许真正地组件编程。最为重要的是Qt使用“一次编写,随处编译”的方式来构建多平台图形用户程序。Qt是一个支持多操作系统平台的应用程序开发框架,他的开发语言是C++。最初Qt主要是为跨平台的软件开发者提供统一的,精美的图形用户编程接口,但是现在它提供统一的网络和数据库操作的编程接口。由于Qt出现,使得U
5、NIX和LINUX这些操作系统以更加方便精美的人机界面走进普通用户。Qt是以工具开发包的形式提供给开发者的,这些工具开发包包括了图形设计器,字体国际化工具,Makefile制作工具,Qt的C++类库等等。值得一提的是Qt的类库等价于MFC的开发库,但Qt的类库是支持跨平台的类库,就是说Qt类库封装了不同操作系统的访问细节。1.概要设计2.1QT中的信号与槽信号和槽是一种高级接U,应用于对象之间的通信,它是QT的核心特性,也是QT区别于其它工具包的重要地方。信号和槽是QT自行定义的一种通信机制,它独立于标准的C/C++语言,因此要正确的处理信号和
6、槽,必须借助一个称为moc(MetaObjectCompiler)的QT工具,该工具是一个C++预处理程序,它为高层次的事件处理直翅生成所需要的附加代码。在很多GUT工具包中,窗口小部件(widget)都冇一个回调函数用于响应它们能触发的每个动作,这个冋调函数通常是一个指向某个函数的指针。但是,在QT中信号和槽取代了这些凌乱的函数指针,使得我们编写这些通信程序更为简洁明了。信号和槽能携带任意数量和任意类型的参数,他们是类型完全安全的,不会像冋调函数那样产生coredumps。所冇从QObject或其子类(例如Qwidget)派生的类都能够包含信
7、号和槽。当对象改变其状态时,信号就由该对象发射(emit)出去,这就是对象所要做的全部事情,它不知道另一端是谁在接收这个信号。这就是真正的信息封装,它确保对象被当作一个真正的软件组件来使用。槽用于接收信号,但它们是普通的对象成员函数。一个槽并不知道是否有任何信号与自己相连接。而且,对象并不了解具体的通信机制。可以将很多信号与单个的槽进行连接,也可以将单个的信号与很多的槽进行连接,其至于将一个信号与另外一个信号相连接也是可能的,这吋无论第一个信号什么时候发射系统都将立刻发射第二个信号。总之,信号与槽构造了一个强大的部件编程机制。当某个信号对其客户
8、或所有者发生的内部状态发生改变,信号被一个对象发射。只冇定义过这个信号的类及其派生类能够发射这个信号。当一个信号被发射时,与其相关联的槽将被立刻执行,
此文档下载收益归作者所有