1 / 24
文档名称:

基于Qt的TCPIP网络通信实现.doc

格式:doc   大小:114KB   页数:24页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

基于Qt的TCPIP网络通信实现.doc

上传人:书犹药也 2020/2/16 文件大小:114 KB

下载得到文件列表

基于Qt的TCPIP网络通信实现.doc

文档介绍

文档介绍:基于tcp/ip网络通信的实现摘要如今随着计算机网络的不断发展,生活和工作环境的不断变化,以网络为重心的信息服务和通信服务受到各行各业的重视。而在当今各种聊天工具竟然日趋激烈的时代,在服务,技术等各个环节都做到更好的同时,如何把现代的网络应用技术与通信技术结合起来,让世界各地的人方便交流。本课题的最终目的是基于Qt的TCP/IP协议的进行客户端和服务端之间进行聊天。本文中就该系统的设计思想、实现方法以及所采用的技术进行了系统的阐述,本文分为以下几个部分:前言部分概括客户端和服务端之间通信的意义。第一章介绍了课题实现的可行性研究。第二章介绍了客户端和服务端具体通信的过程。第三章是本文的核心部分,着重介绍和总结了本系统的实现思想、方法以及具体实现方案;第四章对本聊天软件进行了总结和展望;关键词:QT、tcpSOCKET、客户端服务端第一章客户端与服务端通信的可行性课题的研究目标本课题的最终目的是通过QtCreator开发工具设计客户端和服务端的界面,进一步让客户端和服务端之间进行通信。设计思路的分析和可行性本如软件采用服务器和客户端的形式。服务器负责监听客户端和接收客户端发送过来的信息,并在显示在界面上。客户端则向服务端发送信息,在本地呈现的同时,通过网络实时发往服务器。用户在服务器器上也能够看见客户端发送的消息,并获取最新客户端发送的消息。网络编程技术的成熟和界面设计技术使得客户端与服务端通信的设计成为可能,而且此软件同过设置IP是聊天通信更为方便。开发环境和开发技术的选用我们选用的开发环境是QtCreator开发工具,Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。它既能够开发GUI程式,也可用于开发非GUI程式,比如控制台工具和服务器。Qt是面向对象语言,易于扩展,并且允许组件编程。,奇趣科技被诺基亚公司收购,QT也因此成为诺基亚旗下的编程语言工具。本质上来说,Qt是一个跨平台的C++应用程序开发框架,有时又被称为C++部件工具箱。Qt被用在KDE桌面环境、Opera、GoogleEarth、Skype、AdobePhotoshopAlbum和VirtualBox的开发中。它是诺基亚(Nokia)的QtDevelopmentworks部门的产品。使用Qt,只需一次性开发应用程序和用户界面,无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序。基本上,Qt同XWindow上的Motif,Openwin,GTK等图形界面库和Windows平台上的MFC,OWL,VCL,ATL是同类型的东西,但是Qt具有下列优点:a)优良的跨平台特性:Qt支持下列操作系统:MicrosoftWindows95/98,MicrosoftWindowsNT,Linux,Solaris,SunOS,HP-UX,DigitalUNIX(OSF/1,Tru64),Irix,FreeBSD,BSD/OS,SCO,AIX,OS390,QNX等等。b)面向对象Qt的良好封装机制使得Qt的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。Qt提供了一种称为signals/slots的安全类型来替代callback,这使得各个元件之间的协同工作变得十分简单。c)丰富的APIQt包括多达250个以上的C++类,还替供基于模板的collections,serialization,file,I/Odevice,directorymanagement,date/time类。甚至还包括正则表达式的处理功能。d)支持2D/3D图形渲染,支持OpenGLe)大量的开发文档f)XML支持第二章基于TCP/IP协议通信的概念tcp协议(1)TCP协议是一个基于流的协议。在TCP之上建立的高层协议通常是基于行或者基于块的(2)基于行的协议把数据作为一行文本进行传输,每一数据行都以一个换行符结束(3)基于块的协议把数据作为二进制块进行传输。每一数据块都是由一个大小字段及其包含的数据组成设计的实现(1)Qt中的TCP通信采用的是客户端/服务器模式(2)QTcpSocket和QTcpServer类能够用来实现TCP服务器(3)QTcpSocket可用于实现客户端。(4)QTcpSocket类用于创建用于TCP协议的套接字。创建完成后可通过调用connectToHost(IP,port)函数与服务器进行连接。QTcpSocket通过read、write函数进行读写操作常用信号:Connected:连接上时被发射Disconnected:连接断开时被发射readyRead:有数据可读时被发射Error:出错时被发射服务器可通过继承QTcpServer类实现。当声明了QTcpServer类的对象后,可通过其的listen函数对主机的端口进行监