基于QT的局域网聊天室--—UI界面和消息发送、接收模块.doc

上传人:hs****ma 文档编号:544905996 上传时间:2023-12-28 格式:DOC 页数:24 大小:779KB
返回 下载 相关 举报
基于QT的局域网聊天室--—UI界面和消息发送、接收模块.doc_第1页
第1页 / 共24页
基于QT的局域网聊天室--—UI界面和消息发送、接收模块.doc_第2页
第2页 / 共24页
基于QT的局域网聊天室--—UI界面和消息发送、接收模块.doc_第3页
第3页 / 共24页
基于QT的局域网聊天室--—UI界面和消息发送、接收模块.doc_第4页
第4页 / 共24页
基于QT的局域网聊天室--—UI界面和消息发送、接收模块.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《基于QT的局域网聊天室--—UI界面和消息发送、接收模块.doc》由会员分享,可在线阅读,更多相关《基于QT的局域网聊天室--—UI界面和消息发送、接收模块.doc(24页珍藏版)》请在金锄头文库上搜索。

1、课 程 设 计 报 告题 目 : 基于QT的局域网聊天室 UI界面和消息发送、接收模块课 程 名 称 : 嵌入式系统应用开发 院 部 名 称 : 计算机工程学院 专 业 : 计算机科学与技术 班 级 : 计算机科学与技术(2)班 课程设计书写要求课程设计报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。课程设计报告书写说明课程设计报告应包含一下七部分内容:1、摘要 2、目录 3、前言/引言 4、正文 5、结论 、6、参考文献 7、附录,每部分的书写要求参见具体条目要求。填写注意事项(1)准确说明,层次清晰。(2)尽量采用

2、专用术语来说明事物。(3)外文、符号、公式要准确,应使用统一规定的名词和符号。(4)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。课程设计报告批改说明实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。实验报告装订要求实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。金陵科技学院课程设计报告课程设计题目: 基于QT的局域网聊天室 UI界面和消息发送、接收模块 一、 摘要 嵌入式系统是软件和硬件的综合体,嵌入式系统是与应用紧密结合的,具有很

3、强专用性,必须结合实际系统需求进行合理的裁减利用。嵌入式在电子行业的应用很广泛,学习嵌入式显得非常重要。这次课程设计的主要目的是检验学习qt软件后的效果。通过基础题的代码编写,熟悉C+语言编程技巧。通过完成聊天程序的设计,熟悉嵌入式底层编程。利用QT设计界面,缩短开发时间。 关键字:嵌入式、tcp SOCKET、QT软件二、目录 一、 摘要1二、目录2三、前言/引言3四、正文44.1 原理与关键技术44.1.1条件与限制44.1.2开发环境说明44.1.3运行环境说明44.1.4设计思路的分析和可行性44.1.5信号和槽机制44.1.6聊天平台的设计思想54.1.7技术路线54.2 系统的总体

4、设计64.2.1界面设计64.2.2服务器端的设计74.2.3客户端的设计84.3各个模块的具体实现过程94.3.1主界面设计主要代码分析94.3.2服务器端主要程序代码分析114.3.3客户端主要程序代码分析12五、结论14六、参考文献15七、附录16三、前言/引言 局域网聊天工具,是在局域网内部使用的,用户之间用来交流的一个工具,一般都具有文本聊天和文件传输功能。局域网聊天软件因其使用简单,系统资源消耗少等优点,成为各企事业单位等的局域网内广泛应用的软件之一。随着中小型企事业的不断发展,在企业内部实现局域网通信是必不可少的,随之出现了企业即时通讯,它是一种面向企业终端使用者的网络沟通工具服

5、务,使用者可以通过安装了即时通信的终端机进行两人或多人之间的实时沟通。交流内容包括文字、界面、语音、视频及文件互发等。四、正文 4.1 原理与关键技术 4.1.1条件与限制本系统为普通聊天系统,主要是局域网内成员使用,要求界面简洁,操作简单,以处理事物为核心,保证程序的可靠性。本系统处理数据量有限,适用于局域网用户,但性能良好,能满足局域网成员的基本需求。可以应对各种由于系统产生的错误,比如信息发送失败,不能接收信息等,要求尽可能多的预防此类事件的发生,并准备好应对措施和向用户提供提示信息。要保证程序有一定的容错性,当用户进行非法操作或系统本身出现错误时要能以合理的方式退出程序。 4.1.2开

6、发环境说明1. 编程语言:C+2. 操作系统:windows xp 32位系统3. 开发平台:QT creator 4.1.3运行环境说明1.CPU: 酷睿i52.内存:2GB3.硬盘:500G4.操作系统:windows xp 32位系统 4.1.4设计思路的分析和可行性本如软件采用服务器和客户端的形式。服务器负责监听客户端和接收客户端发送过来的信息,并在显示在界面上。客户端则向服务端发送信息,在本地呈现的同时,通过网络实时发往服务器。用户在服务器器上也可以看见客户端发送的消息,并获取最新客户端发送的消息。网络编程技术的成熟和界面设计技术使得客户端与服务端通信的设计成为可能,而且此软件同过设

7、置IP是聊天通信更为方便。 4.1.5信号和槽机制信号:当对象改变其状态时,信号就由该对象发射 (emit) 出去,而且对象只负责发送信号,它不知道另一端是谁在接收这个信号。这样就做到了真正的信息封装,能确保对象被当作一个真正的软件组件来使用。槽:用于接收信号,而且槽只是普通的对象成员函数。一个槽并不知道是否有任何信号与自己相连接。而且对象并不了解具体的通信机制。信号与槽的连接:所有从 QObject 或其子类 ( 例如 Qwidget ) 派生的类都能够包含信号和槽。因为信号与槽的连接是通过 QObject 的 connect() 成员函数来实现的。 4.1.6聊天平台的设计思想本系统采用服

8、务器和客户端的形式。服务器主要模拟服务器的控制端,来对客户端的各种状态进行监听。可以通过网络向客户端发送信息,并接受客户端传来的信息,供用户参考。客户端主要通过IP连接服务器。客户端在显示自己状态的同时,通过网络实时将自己的状态发送到服务器端。 4.1.7技术路线UDP协议:UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。UDP协议的全称是用户数据报协议1,

9、在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在第四层传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。UDP协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在今天UDP仍然不失为一项非常实用和可行的网络传输层协议。与所熟知的TCP(传输控制协议)协议一样,UDP协议直接位于IP(网际协议)协议的

10、顶层。根据OSI(开放系统互连)参考模型,UDP和TCP都属于传输层协议。UDP协议的主要作用是将网络数据流量压缩成数据包的形式。一个典型的数据包就是一个二进制数据的传输单位。每一个数据包的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。TCP协议:TCP(Transmission Control Protocol 传输控制协议)是一种面向连接(连接导向)的、可靠的、基于IP的传输层协议,由IETF的RFC 793说明(specified)。TCP/IP(Transmission Control Protocol/Internet Protocol) 即传输控制协议/网间协议,是

11、一个工业标准的协议集,它是为广域网(WAN)设计的。它是由ARPANET网的研究机构发展起来的。TCP/IP的标准在一系列称为RFC的文档中公布。文档由技术专家、特别工作组、或RFC编辑修订。公布一个文档 时,该文档被赋予一个RFC编号,如RFC959(FTP的说明文档)、RFC793(TCP的说明文档)、RFC791(IP的说明文档)等。最初的 RFC一直保留而从来不会被更新,如果修改了该文档,则该文档又以一个新号码公布。因此,重要的是要确认你拥有了关于某个专题的最新RFC文档。通常在 RFC的开头部分,有相关RFC的更新(update)、修改(errata)、作废(obsolete)信息,

12、提示读者信息的时效性。TCP与UDP的区别:1.TCP协议面向连接,UDP协议面向非连接;2.TCP协议传输速度慢,UDP协议传输速度快3.TCP有丢包重传机制,UDP没有;4.TCP协议保证数据正确性,UDP协议可能丢包4.2 系统的总体设计 4.2.1界面设计图1主界面软件左边那大块是聊天内容显示界面,这里局域网相当于qq中的qq群,即群聊。该程序实现的是每个用户登录既是客户端又是服务器端,这就需要看你站在哪个角度看问题了。简单的说,当用户发送信息给别人时就是客户端,当接收别人的信息是就可以看做是服务器端。 4.2.2服务器端的设计 图2发送文件界面服务器端界面主要如图所示,包括界面部分和

13、控制部分。界面执行显示功能,包括打开、发送、关闭功能。发送端流程:图3发送端流程4.2.3客户端的设计 图4接收文件界面客户端界面如图所示,采用的是界面驱动的方式。客户端有自己的窗口,都可以单独向服务器端发送状态信息。客户端主要包括发送和清除当前信息的功能呢,还有通过IP连接服务器的功能。客户端的界面响应用户的操作时,可以向服务器报告自己的信息。客户端也会将必要的信息定时报告给服务器。接收端流程:图5接收端流程4.3各个模块的具体实现过程 4.3.1主界面设计主要代码分析/ 接收UDP信息void Widget:processPendingDatagrams() /hasPendingData

14、grams返回true时表示至少有一个数据报在等待被读取 while(udpSocket-hasPendingDatagrams() QByteArray datagram; /pendingDatagramSize为返回第一个在等待读取报文的size,resize函数是把datagram的size归一化到参数size的大小一样 datagram.resize(udpSocket-pendingDatagramSize(); /将读取到的不大于datagram.size()大小数据输入到datagram.data()中,datagram.data()返回的是一个字节数组中存储 /数据位置的指针 udpSocket-readDatagram(datagram.data(), datagram.size(); QDataStream in(&datagram, QIODevice:ReadOnly);/因为其属性为只读,所以是输入 int messageType; /此处的int为qint32,在

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号