基于tcpip的网络聊天工具设计.doc

上传人:F****n 文档编号:98878309 上传时间:2019-09-15 格式:DOC 页数:30 大小:781KB
返回 下载 相关 举报
基于tcpip的网络聊天工具设计.doc_第1页
第1页 / 共30页
基于tcpip的网络聊天工具设计.doc_第2页
第2页 / 共30页
基于tcpip的网络聊天工具设计.doc_第3页
第3页 / 共30页
基于tcpip的网络聊天工具设计.doc_第4页
第4页 / 共30页
基于tcpip的网络聊天工具设计.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《基于tcpip的网络聊天工具设计.doc》由会员分享,可在线阅读,更多相关《基于tcpip的网络聊天工具设计.doc(30页珍藏版)》请在金锄头文库上搜索。

1、基于TCP/IP的网络聊天工具设计【摘要】本系统是实现在局域网内多人在线聊天的聊天工具,主要是采用套接字的原理进行编程,将Visual C+6.0作为开发平台,并结合使用VC+中的开发框架MFC。系统是在TCP/IP网络环境下,采用客户机/服务器的模式进行设计,将各任务合理的分配到服务器和客户端,在很大程度减少系统资源的消耗以及通信的开销。该聊天工具主要是设计成类似QQ群的聊天室,其中服务器是接收并处理来自客户端的消息,客户端主要是实现申请新账号、进入聊天室、聊天室内的群聊、用户间的私聊、发送和接收离线消息等主要功能。本文主要针对系统的研究现状、研究目标、开发过程等进行说明,并对各个模块的设计

2、流程进行详细分析。【关键词】TCP/IP,Winsock网络编程,客户机/服务器模式,聊天工具Design for the Network Chatting Tool Based on TCP/IP【Abstract】:The system is a network chat tool which could make multiuser communicates on line. The system is mainly use the socket principal to program. The program platform is VC+6.0 which has much fun

3、ction. And MFC class library is combined to make the systems function come true. The Server and Client has the task on their own which is a wonderful network model can reduce the consumption of system. The chat tool is designed to be similar with QQ group where Server receives and deals with the dat

4、agram from Client. And the Client achieves the target. Such as register, log in, send and receive datagram and so on. The paper is mainly to explain the research status and program process. And then it also emphasizes on the design method of every block. 【Keyword】:TCP/IP, Winsock program,Client/Serv

5、er,Chat Tool目录第一章 引言11.1聊天系统的研究现状11.2 聊天系统的开发目标11.3 聊天系统的开发意义11.4 论文的主要内容2第二章 开发工具和关键技术32.1 开发工具32.2 TCP/IP协议32.3 客户机/服务器模式32.4 套接字网络编程42.4.1套接字简介42.4.2 TCP套接字的应用62.5 MFC(Microsoft Foundation Class)72.5.1 MFC简介72.5.2 MFC类库7第三章、系统设计93.1设计原理93.2 系统总体功能结构93.3 建立类模型113.3.1服务器端类113.3.2 客户端类13第四章 系统模块详细设计

6、154.1服务器模块154.2 客户端模块154.2.1注册模块154.2.2登陆模块154.3 文字聊天模块164.3.1私聊模块164.3.2群聊模块16第五章 系统测试175.1 测试目的175.2 测试内容与结果175.2.1服务器测试175.2.2 单元模块测试175.2.3系统评价:23第六章 总结246.1毕业设计的总结246.2 经验和感想24致 谢25参考文献26村民建房委员会应建立村级农房建设质量安全监督制度和巡查制度,选聘有责任心和具有一定施工技术常识的村民作为义务巡查监督员,开展经常性的巡查和督查。III第一章 引言 1.1聊天系统的研究现状 在高速发展的信息时代,人们

7、有众多的通讯手段1。比如电话、手机、邮箱等。每个工具都存在不完善的地方,比如邮箱存在实时性的问题,手机、电话等在通信的过程中不能实现一对多的聊天。因此为了填补这个漏洞,开发出网络聊天工具是至关重要的。如今网络聊天工具的发展也逐渐形成规模,它不仅价格便宜、通讯迅速,且能同时与多位好友进行在线聊天。近几年来,网络聊天工具有了更为广阔的市场和前景。据科学统计,截止2009年,在网络聊天工具的使用方面,全球已经达到十亿的用户量,账号的申请量为25亿,我国在该方面的使用数据也在不断增长,截止2013年,我国的使用量为4.68亿,其年增长率为12.7%2。网络聊天工具在广域网上具有较为成熟的技术,在开发的

8、过程中,会调用多种协议,但是使用的核心协议是TCP协议或UDP协议。比如国外产品ICQ、MSN、Yahoo通等,国内产品QQ、飞信、新浪UC等。在使用方面,这些工具都各具特色,除了聊天功能,都存在一些增值功能。但是这些产品的开发过程是作为商业机密处理,因此对其编程机制等是很难了解到的。不过从宏观的角度出发,聊天工具之间能够通信都是因为有通信接口的存在,且在开发过程中,调用TCP/IP协议实现相应的功能。而相比来说,局域网的功能实现难度较低,且其存在的网络结构并不是很复杂,因此讨论局域网的聊天工具也是具有一定的研究价值。1.2 聊天系统的开发目标本次设计主要是建立在MFC封装下的CSocket网

9、络编程以及TCP/IP协议的基础上,实现局域网内的多人在线聊天。该系统是以QQ群为开发模型。在该方案中,是以Visual C+ 6.0为开发平台,利用MFC类库,结合套接字的形式,并以对话框的形式进行输入和显示,最终实现了通过服务器中转的文字聊天。在客户端功能模块设计中,存在注册模块、登陆模块、私聊模块、群聊模块以及收发离线消息的模块。1.3 聊天系统的开发意义该聊天系统主要是为了保证在局域网环境下,多位用户之间能够有一个共同的平台进行在线聊天,并且能够选择特定好友进行私聊。虽然该系统消耗的系统资源较少,使用简单的网络结构,但是它可以为企业提供一种安全、快速、有效的通信平台,局域网也不会因为聊

10、天系统间的工作增加过多的负荷,且其存在的各种通信需求能够得到相应的处理。在具体实现中,企业无需对局域网硬件做出任何改动,就可以使用局域网聊天系统带来的通信机制。局域网聊天系统的开发实例有多种,其中以Socket套接字作为网络编程接口来开发局域网聊天软件是最为广泛的应用方式,能够处理传统通信中遗留下来的通信问题,并不断适应新型的网络应用3。例如在企业内部,套接字通信原理可以很好的应用在教育、娱乐、通信等方面。且采用套接字原理通信的方式在信息的发送和接收方面有较快的速度,在网络带宽方面占用较少的资源,在服务器的吞吐能力方面存在较低的值,能够在最大程度上保证通信的信息安全。1.4 论文的主要内容本次

11、聊天系统设计的重点是通信功能。在功能方面,主要是保证用户可以注册号码,登陆界面,进行私聊、群聊,并且能够发送和接收离线消息。在窗口方面,采用卡通人物进行界面美观,保证系统的人性化设计。下面将对各章节内容进行综述。第1章是对本系统的研究现状、开发的意义等进行了深入的阐述。第2章是介绍在开发过程中所运用到的相关技术。例如TCP/IP协议、Socket编程技术,MFC类库、客户端/服务器模式等4。第3章是系统的总体设计。将对系统的设计流程进行一定程度的分析,绘制出系统的总体功能结构图,并对程序代码中使用到的函数类及成员函数进行介绍。第4章主要是对系统的各个部分设计进行分析。第 5 章介绍系统测试。主

12、要是保证系统能够正常运行,并实现预期设定的功能5。第二章 开发工具和关键技术2.1 开发工具根据系统的用户需求以及总体的设计思路,为了能够在最大程度上发挥系统的性能,同时也为了能够在一定程度上实现系统的高可移植性,需要选择一个适当、有效的开发工具。本次设计整体以Visual C+6.0为开发平台,该平台是一个非常强大且完善的程序开发环境,存在众多辅助开发工具。比如编译器、向导类等。它是一个以Windows操作系统作为平台基础的集成环境6。在系统开发的过程中,使用了MFC封装下的CSocket套接字进行编程。该方式可以在很大程度上降低网络编程的难度。2.2 TCP/IP协议TCP/IP也被称作传

13、输控制协议/网际协议,作为网络互连的核心协议,受到广泛的应用。该协议类型作为开放性的标准应用在各种计算机中,在一定程度上保证系统间通信的正常运行。在计算机网络中,TCP/IP协议将对网络地址进行统一分配,保证每台计算机系统都存在独特的地址。TCP/IP协议不仅仅只有TCP和IP协议,它包括一百多个协议,其中属于核心协议的是传输层协议、物理接口层以及网络层协议7。其他协议也在网络中发挥各自的作用,如ICMP协议。TCP和UDP协议作为核心协议,自然存在其优势的地方。TCP也称作传输控制协议,主要是传输数据流8。它是通过面向连接的方式,使用校验、确认信息等形式实现数据的传输。因此该协议具有一定的可

14、靠性。在具体的功能实现中,主要是利用三次握手和滑动窗口的机制来控制流量,从而保证传输的可靠性。相比之下,用户数据包协议UDP属于不可靠协议。在传输数据的过程中,不能保证信息的正确传输,即时传输失败,也不会向对方发送通知。这是一项简单的传输层协议,因此UDP协议的数据包包头的字节数较少,存在较少的负载。在实际的网络编程中,用户是通过操作系统核外的应用程序进行编程9。编程的核心是套接字的运用。2.3 客户机/服务器模式客户机/服务器方式是用户和编程者都很熟知的网络结构,在TCP/IP环境下,主要是运用该模式进行网络编程。它主要是对网络程序的一种运行方式进行描述,能够实现网络用户间的相互沟通。在该模

15、式下,计算机系统的硬件环境能够很好的发挥其长处,并保证客户端以及服务器都有适当的任务,将原有的通讯开销降至一定水平。客户端和服务器是通过主动请示达到发送消息的目的。客户端首先是向服务器发送请求消息,并等待响应结果。而服务器会对用户端的信息做出判断和应答。在具体的操作过程中,先启动服务器。服务器通过消息响应函数完成一系列操作。具体过程如下:第一,服务器首先创建套接字,打开与客户端通信的渠道。表示服务器处于愿意接受数据的状态;第二,服务器创建监听套接字,侦听客户端的请求消息10;第三,对接收到的数据做出消息响应,向客户端发送消息处理结果或是将数据存储到缓冲区中。第四,回到第二个步骤,继续进行监听动作。第五,关闭服务器。在整个过程中,客户端主要进行以下几个操作:第一,将与服务器通信的端口打开,并成功连接到服务器;第二,将请求内容通过套接字端口发送给服务器,并等待服务器发回的处理消息。第三,客户端在结束与服务器的通信后,要关闭通信端口。客户端与服务器的工作关系图如图2-1所示11。服务器客户端客户端客户端客户端客户端 图2-1 客户端/服务器通信结构示意图2.4 套接字网络编程2.4.1套接字简介Socket又称作套接字,从基本概念上分析,它主要包含IP地址以及Port端口号。在一

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

当前位置:首页 > 办公文档 > 教学/培训

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