没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
. . -.
基于 TCP/IP 的网络聊天工具设计
【摘要】本系统是实现在局域网多人在线聊天的聊天工具,主要是采用套接字的原
理进展编程,将 Visual C++6.0 作为开发平台 ,并结合使用 VC++ 中的 开发框架
MFC。系统是在 TCP/IP 网络环境下,采用客户机/效劳器的模式进展设计,将各任务合理
的分配到效劳器和客户端,在很大程度减少系统资源的消耗以及通信的开销。该聊天工
具主要是设计成类似 QQ 群的聊天室,其中效劳器是接收并处理来自客户端的消息,客户
端主要是实现申请新账号、进入聊天室、聊天室的群聊、用户间的私聊、发送和接收离
线消息等主要功能。本文主要针对系统的研究现状、研究目标、开发过程等进展说明,
并对各个模块的设计流程进展详细分析。
【关键词】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 municates on line. The system is mainly use the socket principal to
program.The program platform is VC++6.0 which has much function. And
MFC class library is bined to make the system’s function e 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 datagram
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/Server,Chat Tool
目录
1.1 聊天系统的研究现状...............................................................................................................................1
1.2 聊天系统的开发目标...............................................................................................................................1
1.3 聊天系统的开发意义...............................................................................................................................2
. 文档.
. . -.
1.4 论文的主要容...........................................................................................................................................2
2.1 开发工具...................................................................................................................................................3
2.2 TCP/IP 协议..............................................................................................................................................3
2.3 客户机/效劳器模式..................................................................................................................................4
2.4 套接字网络编程.......................................................................................................................................5
2.4.1 套接字简介............................................................................................................................................5
2.4.2TCP 套接字的应用.................................................................................................................................6
2.5 MFC(Microsoft Foundation Class)...........................................................................................................7
2.5.1 MFC 简介...............................................................................................................................................7
2.5.2 MFC 类库...............................................................................................................................................8
3.1 设计原理...................................................................................................................................................8
3.2 系统总体功能构造...................................................................................................................................9
3.3 建立类模型.............................................................................................................................................10
3.3.1 效劳器端类..................................................................................................................................10
3.3.1.1 类的识别和功能...............................................................................................................................10
3.3.1.2 主要的类成员函数及其功能...........................................................................................................11
3.3.2 客户端类......................................................................................................................................13
3.3.2.1 类的的识别和功能...........................................................................................................................13
3.3.2.2 主要的类的成员函数及其功能.......................................................................................................13
4.1 效劳器模块.............................................................................................................................................15
4.2 客户端模块.............................................................................................................................................15
4.2.1 注册模块......................................................................................................................................15
4.2.2 登陆模块......................................................................................................................................15
4.3 文字聊天模块.........................................................................................................................................16
4.3.1 私聊模块......................................................................................................................................16
4.3.1.1 发送和接收在线消息.......................................................................................................................16
4.3.1.2 发送和接收离线消息.......................................................................................................................16
4.3.2 群聊模块......................................................................................................................................16
5.1 测试目的.................................................................................................................................................17
5.2 测试容与结果.........................................................................................................................................17
5.2.1 效劳器测试..................................................................................................................................17
5.2.2 单元模块测试..............................................................................................................................18
5.2.2.1 登陆模块测试...................................................................................................................................18
5.2.2.2 注册模块测试...................................................................................................................................20
5.2.2.3 群聊模块测试...................................................................................................................................20
5.2.2.4 私聊模块测试...................................................................................................................................21
5.2.2.5 离线消息发送和接收模块...............................................................................................................22
5.2.3 系统评价:..................................................................................................................................23
6.1 毕业设计的总结.....................................................................................................................................24
6.2 经历和感想.............................................................................................................................................24
. 文档.
. . -.
第一章 引言
1.1 聊天系统的研究现状
在高速开展的信息时代,人们有众多的通讯手段
[1]
。比方、手机、等。每
个工具都存在不完善的地方,比方存在实时性的问题,手机、等在通信的过程
中不能实现一对多的聊天。因此为了填补这个漏洞,开发出网络聊天工具是至
关重要的。如今网络聊天工具的开展也逐渐形成规模,它不仅价格廉价、通讯
迅速,且能同时与多位好友进展在线聊天。近几年来,网络聊天工具有了更为
广阔的市场和前景。据科学统计,截止 2009 年,在网络聊天工具的使用方面
全球已经到达十亿的用户量,账号的申请量为 25 亿,我国在该方面的使用数
据也在不断增长,截止 2013 年,我国的使用量为 4.68 亿,其年增长率为
12.7%
[2]
。
网络聊天工具在广域网上具有较为成熟的技术,在开发的过程中,会调用
多种协议,但是使用的核心协议是 TCP 协议或 UDP 协议。比方国外产品
ICQ、MSN、通等,国产品 QQ、飞信、新浪 UC 等。在使用方面,这些工具
都各具特色,除了聊天功能,都存在一些增值功能。但是这些产品的开发过程
是作为商业处理,因此对其编程机制等是很难了解到的。不过从宏观的角度出
发,聊天工具之间能够通信都是因为有通信接口的存在,且在开发过程中,调
用 TCP/IP 协议实现相应的功能。而相比来说,局域网的功能实现难度较低,且
其存在的网络构造并不是很复杂,因此讨论局域网的聊天工具也是具有一定的
研究价值。
1.2 聊天系统的开发目标
本次设计主要是建立在 MFC 封装下的 CSocket 网络编程以及 TCP/IP 协议
的根底上,实现局域网的多人在线聊天。该系统是以 QQ 群为开发模型。在该
方案中,是以 Visual C++ 6.0 为开发平台,利用 MFC 类库,结合套接字的形
式,并以对话框的形式进展输入和显示,最终实现了通过效劳器中转的文字聊
天。在客户端功能模块设计中,存在注册模块、登陆模块、私聊模块、群聊模
块以及收发离线消息的模块。
. 文档.
. . -.
1.3 聊天系统的开发意义
该聊天系统主要是为了保证在局域网环境下,多位用户之间能够有一个共
同的平台进展在线聊天,并且能够选择特定好友进展私聊。虽然该系统消耗的
系统资源较少,使用简单的网络构造,但是它可以为企业提供一种平安、快速、
有效的通信平台,局域网也不会因为聊天系统间的工作增加过多的负荷,且其
存在的各种通信需求能够得到相应的处理。在具体实现中,企业无需对局域网
硬件做出任何改动,就可以使用局域网聊天系统带来的通信机制。
局域网聊天系统的开发实例有多种,其中以 Socket 套接字作为网络编程
接口来开发局域网聊天软件是最为广泛的应用方式,能够处理传统通信中遗留
下来的通信问题,并不断适应新型的网络应用
[3]
。例如在企业部,套接字通信
原理可以很好的应用在教育、娱乐、通信等方面。且采用套接字原理通信的方
式在信息的发送和接收方面有较快的速度,在网络带宽方面占用较少的资源,
在效劳器的吞吐能力方面存在较低的值,能够在最大程度上保证通信的信息平
安。
1.4 论文的主要容
本次聊天系统设计的重点是通信功能。在功能方面,主要是保证用户可以
注册,登陆界面,进展私聊、群聊,并且能够发送和接收离线消息。在窗口方
面,采用卡通人物进展界面美观,保证系统的人性化设计。下面将对各章节容
进展综述。
第 1 章是对本系统的研究现状、开发的意义等进展了深入的阐述。
第 2 章是介绍在开 发过程中所运用到 的 相关技术。例如 TCP/IP 协议、
Socket 编程技术,MFC 类库、客户端/效劳器模式等
[4]
。
第 3 章是系统的总体设计。将对系统的设计流程进展一定程度的分析,绘
制出系统的总体功能构造图,并对程序代码中使用到的函数类及成员函数进展
介绍。
第 4 章主要是对系统的各个局部设计进展分析。
第 5 章介绍系统测试。主要是保证系统能够正常运行,并实现预期设定的
功能
[5]
。
. 文档.
. . -.
第二章 开发工具和关键技术
2.1 开发工具
根据系统的用户需求以及总体的设计思路,为了能够在最大程度上发挥系
统的性能,同时也为了能够在一定程度上实现系统的高可移植性,需要选择一
个适当、有效的开发工具。本次设计整体以 Visual C++6.0 为开发平台,该
平台是一个非常强大且完善的程序开发环境,存在众多辅助开发工具。比方编
译器、向导类等。它是一个以 Windows 操作系统作为平台根底的集成环境
[6]
。在系统开发的过程中,使用了 MFC 封装下的 CSocket 套接字进展编程。
该方式可以在很大程度上降低网络编程的难度。
2.2 TCP/IP 协议
TCP/IP 也被称作传输控制协议/网际协议,作为网络互连的核心协议,受
到广泛的应用。该协议类型作为开放性的标准应用在各种计算机中,在一定程
度上保证系统间通信的正常运行。在计算机网络中,TCP/IP 协议将对网络地址
进展统一分配,保证每台计算机系统都存在独特的地址。TCP/IP 协议不仅仅只
有 TCP 和 IP 协议,它包括一百多个协议,其中属于核心协议的是传输层协议、
物理接口层以及网络层协议
[7]
。其他协议也在网络中发挥各自的作用,如 ICMP
协议。TCP 和 UDP 协议作为核心协议,自然存在其优势的地方。
TCP 也称作传输控制协议,主要是传输数据流
[8]
。它是通过面向连接的方
式,使用校验、确认信息等形式实现数据的传输。因此该协议具有一定的可靠
性。在具体的功能实现中,主要是利用三次握手和滑动窗口的机制来控制流量,
从而保证传输的可靠性。相比之下,用户数据包协议 UDP 属于不可靠协议。在
传输数据的过程中,不能保证信息的正确传输,即时传输失败,也不会向对方
发送通知。这是一项简单的传输层协议,因此 UDP 协议的数据包的字节数较少,
存在较少的负载。在实际的网络编程中,用户是通过操作系统核外的应用程序
进展编程
[9]
。编程的核心是套接字的运用。
. 文档.
剩余26页未读,继续阅读
资源评论
wgysd836
- 粉丝: 0
- 资源: 8万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功