基于TCPIP的网络聊天工具设计毕业论文
- 格式:doc
- 大小:800.50 KB
- 文档页数:32
北京联合大学-信息学院计算机网络实践报告木瓜Chat局域网聊天工具设计报告组长(学号):拉格木呷4组员(学号):高迪7张鹤轩7刘晓弟5版本号: 1.0时间:2015年1月8日摘要从实际应用系统的角度出发,以VB的网络技术为指导,结合现有软件的应用,编程实现基于Visual Basic的局域网络聊天工具。
该聊天工具具有聊天室聊天,一对一聊天,以及文件传输的功能。
该论文主要对当今主流的网络聊天软件的发展情况,与该软件相关的技术以及本设计的实现做一个详细的阐述:1. 计算机网络聊天工具,受到了用户的普遍爱好,它把人们带进了一个虚拟的网络世界,拉近了人们的距离。
从单一的文本聊天,到语音聊天以及到现在的图像、视频聊天、及时短信的发送和在线游戏等功能的开发,已经大大的拓展了聊天工具的概念,它成为了人们通过因特网相互联系和娱乐的主要平台,这也是腾讯成功的原因。
2. 该聊天软件基于VB中的WinSock通信,在此基础上,实现一对一聊天、一对多聊天以及文件的传输。
3. 该聊天工具可以运行于任何安装了VB6.0和支持tcpip,upd,ftp协议的机器上。
4. 由于系统采用cs结构,客户端与客户端以及客户端与服务器端需要传送一些控制消息,因此系统需要自定义一些消息类型,这是该聊天工具的又一大关键之处。
5. 文件传输作为另一个独立的模块,大大拓展了该聊天工具的功能,其传输资料利用了原有的WinSock通信,关键需要同步双方的发送和接受线程。
局域网通讯(Local Network,简称LNLNIM)是指能够即时发送和接收互联网消息等的业务。
自2001年面世以来,特别是近几年的迅速发展,局域网通讯功能日益丰富,逐渐集成了电子邮件、博客、音乐、电视、游戏和搜索等多种功能。
它不再是一个单纯的聊天工具,已经发展成集交流、资讯、娱乐、搜索、电子商务、办公协作和企业客户服务等为一体的综合化信息平台。
是一种终端连往即时通讯网络的服务。
基于TCPIP的网络聊天工具的设计与实现—毕业设计论文本章将介绍网络聊天工具的背景和意义,并概述论文的研究目的和方法。
网络聊天工具是一种实时通信工具,通过互联网连接用户,使得用户可以在不同地点进行文字、语音和视频的交流。
随着互联网的发展和智能手机的普及,网络聊天工具变得越来越重要。
它不仅改变了人们的交流方式,也改变了社交模式。
本论文的研究目的是设计和实现一种基于TCPIP协议的网络聊天工具。
TCPIP协议是互联网的基础协议之一,广泛应用于数据传输和通信。
通过基于TCPIP协议的设计,我们可以实现一个高效、稳定和安全的网络聊天工具。
论文的研究方法主要包括以下几个步骤:确定网络聊天工具的功能需求:分析用户对网络聊天工具的需求,包括文字、语音和视频交流等功能。
设计系统架构:根据功能需求,设计网络聊天工具的系统架构,包括客户端和服务器端的设计。
编码实现:根据系统架构,使用合适的编程语言和工具,进行网络聊天工具的编码实现。
测试和优化:对已实现的网络聊天工具进行测试,发现和修复潜在的问题,并对系统进行优化以提高性能和用户体验。
结果分析和总结:对网络聊天工具的设计与实现进行结果分析和总结,评估系统的优劣,并提出改进建议。
通过本论文的研究,我们将为用户提供一种高效、稳定和安全的网络聊天工具,满足用户对实时通信的需求,推动互联网通信技术的发展。
参考文献1参考文献2参考文献3网络聊天工具在现实生活和工作中的需求十分广泛。
它可以作为人们交流的重要工具,方便快捷地实现文字、语音和视频的沟通。
在进行需求分析时,我们需要深入调研和整理用户需求,以确保设计出一款满足用户期望的网络聊天工具。
一、现实生活中的需求社交需求:人们希望通过网络聊天工具与朋友、家人和同事保持联系,分享生活中的点滴,交流情感和心情。
商务需求:职场人士需要网络聊天工具来便捷地与同事、合作伙伴和客户进行沟通,共享文件、讨论项目进展等。
二、工作中的需求团队协作:团队成员需要网络聊天工具来实现实时的沟通与协作,提高工作效率。
学士学位论文基于TCP/IP的局域网聊天室的设计与实现姓名:学号:指导教师:学院:专业:完成日期:学士学位论文基于TCP/IP的局域网聊天室的设计与实现姓名:学号:指导教师:学院:专业:完成日期:摘要随着计算机网络技术的发展,各种各样基于网络的应用也随之诞生,比如基于互联网的信息发布,通信,数据共享等等。
局域网的发展也同样迅速.很多政府机构,企业,学校,都是先以一个统一的局域网联结在一起,再分别接入INTERNET。
因此基于局域网的即时通信工具,就这样应运而生了.所以本文提出了一个更加合理的设计,并在WINDOWS平台上加以了实现.在本实现内将客户端和服务端综合在一个程序之内,用多线程实现不同的并行任务。
并进行了人性化的界面设计,使用起来更加简单方便,并且功能十分合理,又易于扩展以及个性化定制。
本文通过局域网聊天系统来具体共享内存实现进程间的数据交换,利用windows消息机制实现进程间的同步,两种机制结合使用。
局域网聊天室作为一种新型的聊天工具可以提供更为及时、可靠、突破了必须有外界网络接入等优点,具有极其广泛的发展前景.本文介绍了采用JAVA编程开发局域网聊天系统的一套比较常用的解决方案。
采用TCP模式进行文字聊天, 在客户端之间点对点(C/C)的进行。
本系统采用典型的C/S(客户端/服务器)的框架模式,在该方案中采用Socket (套接字)原理实现网络通信,最终实现了通过服务器中转的文字聊天、文件传输功能,从而大大降低了程序的开发难度。
本系统主要包括登陆、聊天、好友列表和服务器管理几个部分。
本系统从需求分析、系统的设计、功能的实现都严格遵循了软件工程设计的思想.【关键词】Socket;TCP/IP;C/S;局域网聊天室AbstractWith the development of computer network technology,a variety of Web-based applications also will be the birth,such as Internet-based information release, communications, data sharing, and so on. LAN development is quickly. Many government agencies,businesses,schools,are first linked together in a unified LAN,respectively connected to the INTERNET, LAN-based instant messaging tool, and thus came into being。
基于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 communicates 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 combined to make the system’s 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 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)1.2 聊天系统的开发目标 (1)1.3 聊天系统的开发意义 (2)1.4 论文的主要内容 (2)第二章开发工具和关键技术 (3)2.1 开发工具 (3)2.2 TCP/IP协议 (3)2.3 客户机/服务器模式 (4)2.4 套接字网络编程 (5)2.4.1套接字简介 (5)2.4.2 TCP套接字的应用 (6)2.5 MFC(Microsoft Foundation Class) (7)2.5.1 MFC简介 (7)2.5.2 MFC类库 (8)第三章、系统设计 (9)3.1设计原理 (9)3.2 系统总体功能结构 (10)3.3 建立类模型 (11)3.3.1服务器端类 (11)3.3.2 客户端类 (13)第四章系统模块详细设计 (15)4.1服务器模块 (15)4.2 客户端模块 (15)4.2.1注册模块 (15)4.2.2登陆模块 (15)4.3 文字聊天模块 (16)4.3.1私聊模块 (16)4.3.2群聊模块 (16)第五章系统测试 (17)5.1 测试目的 (17)5.2 测试内容与结果 (17)5.2.1服务器测试 (17)5.2.2 单元模块测试 (18)5.2.3系统评价: (23)第六章总结 (24)6.1毕业设计的总结 (24)6.2 经验和感想 (24)致谢.................................................. 错误!未定义书签。
基于TCP的网络通信协议设计毕业论文目录ABSTRACT ..................................................................................................................... 错误!未定义书签。
第一章绪论.. (1)1.1 项目开发背景和意义 (1)1.2 开发和运行环境 (1)第二章开发工具简介 (1)2.1 Visual C++6.0介绍 (1)2.2 MFC (1)2.3 MSDN (2)2.4 Visual Assist X (3)第三章协议设计涉及知识简介 (1)3.1 即时通讯 (1)3.2 网络协议 (2)3.3 OSI七层网络模型 (2)3. 4 TCP/IP协议 (3)3.5 TCP传输 (4)3.6 C/S编程模型 (4)3.7 Socket套接字 (5)3.8 网络字节顺序 (6)3.9 Windows Sockets (6)3.10 同步、异步、阻塞和非阻塞 (7)3.11 多线程 (7)第四章需求分析 (10)4.1 整体需求分析 (10)4.2 可行性分析 (10)第五章概要设计 (11)5.1 性能要求 (11)5.2 通讯协议格式设计 (11)5.3 软件工作模式图 (12)5.4 软件设计原理 (12)第六章详细设计 (15)6.1 协议设计 (15)6.2 服务器端工程设计 (17)6.3 客户端工程设计 (22)6.4多线程设计(一台服务器与多个客户端通信) (31)6.5 协议工作设计 (34)第七章系统测试 (42)7.1 测试目的 (42)7.2 测试要求 (42)7.3 测试方法 (42)7.4 系统测试 (43)总结................................................................................................................................ 错误!未定义书签。
目录1前言 (3)课程设计的目的 (3)J A V A简介 (3)2需求分析 (6) (6) (6) (7) (7)3相关原理分析 (8)TCP/IP参考模型 (8)TCP的建立 (9)TCP传输原理 (10)套接字的客户端 (11)C/S模式 (11)4 总体设计 (13)5 详细设计 (14)................................................................................................................. 错误!未定义书签。
.. (15) (16) (16) (17) (17)6 调试 (18)7 结束语 ..................................................................................................... 错误!未定义书签。
参考文献. (23)附录:设计程序清单 (24)基于TCP/IP的网络聊天程序服务端设计摘要本课程设计的目标是基于Eclipse技术实现一个点对点通信程序,其工作机制模仿即时通信软件的基本功能,包括登陆,上线,传递信息等等。
采用TCP/IP原理,分别为客户端和服务器端完成基本数据配置,实现网络聊天功能。
在设计过程中,主要采用Eclipse编程环境,使用Java语言进行程序的编写,程序通过调试运行并且经过完善后,初步实现了设计的目标,能很好地在局域网环境实现即时聊天。
关键字Java语言;Eclipse;TCP/IP;套接字;C/S工作模式1前言21世纪是网络的世界,现在网络发展的不可估量了,它可以包括我们生活中的方方面面,小到上网购物、查找资料,大到网上理财、网上会议,可以说网络把我们的世界变小了,即使在天涯海角,有网络的地方我们就可以随时联系。
最简单的形式就是进行网络聊天了,这个很简单的聊天工具,可以随时拉近你我的距离[1]。
编号毕业设计(论文)题目基于TCP/IP协议的聊天工具的设计与开发二级学院计算机科学与工程专业计算机科学与技术班级 10903XXXX学生姓名学号 10903XXXXXX指导教师职称时间 2013.6目录摘要 (I)ABSTRACT (II)前言................................................................................................................................................................... - 1 -第一章概述..................................................................................................................................................... - 2 - 1.1 课题背景及意义................................................................................................................................... - 2 -1.1.1 课题背景...................................................................................................................................... - 2 -1.1.2 课题意义...................................................................................................................................... - 3 - 1.2 课题现状及发展................................................................................................................................... - 3 -1.2.1 课题现状...................................................................................................................................... - 3 -1.2.2 课题发展...................................................................................................................................... - 4 - 1.3 课题内容、目的及目标..................................................................................................................... - 4 -1.3.1 课题内容...................................................................................................................................... - 4 -1.3.2 课题目的和目标........................................................................................................................ - 4 -第二章开发技术和平台.............................................................................................................................. - 6 - 2.1 开发技术 ................................................................................................................................................ - 6 -2.1.1 Java语言..................................................................................................................................... - 6 -2.1.1.1 Java发展历程............................................................................................................... - 6 -2.1 1.2 Java特点........................................................................................................................ - 6 -2.1.1.3 Java与Internet......................................................................................................... - 7 -2.1.2多线程............................................................................................................................................ - 8 -2.1.3 TCP/UDP协议.............................................................................................................................. - 8 -2.1.4 C/S模式..................................................................................................................................... - 10 -2.1.5 Socket ........................................................................................................................................ - 11 - 2.2 开发平台 .............................................................................................................................................. - 11 -2.2.1 硬件环境.................................................................................................................................... - 11 -2.2.2 软件环境.................................................................................................................................... - 11 -2.2.2.1 Eclipse....................................................................................................................... - 11 -2.2.2.2 JDK1.6 ......................................................................................................................... - 12 -2.2.2.3 SQL Server 2005和JDBC .................................................................................... - 12 -2.2.2.4 AWT组件...................................................................................................................... - 12 -第三章系统分析与设计............................................................................................................................ - 13 - 3.1 系统分析 .............................................................................................................................................. - 13 -3.1.1 系统可行性分析...................................................................................................................... - 13 -3.1.2 系统功能需求........................................................................................................................... - 13 -3.1.3 系统实现原理........................................................................................................................... - 14 -3.1.4 各个模块功能详解 ................................................................................................................. - 15 -3.1.4.1 服务器端结构.............................................................................................................. - 15 -3.1.4.2 客户端结构 .................................................................................................................. - 16 - 3.2 系统设计 .............................................................................................................................................. - 17 -3.2.1 设计原则.................................................................................................................................... - 17 -3.2.2 架构设计.................................................................................................................................... - 17 -3.2.3 功能设计.................................................................................................................................... - 18 -3.2.4 数据库设计 ............................................................................................................................... - 18 -第四章系统的实现..................................................................................................................................... - 19 - 4.1 服务器的设计与实现 ....................................................................................................................... - 19 -4.1.1 服务器工作流程图 ................................................................................................................. - 19 -4.1.2 服务器主界面........................................................................................................................... - 19 -4.1.3 服务器的开启........................................................................................................................... - 21 -4.1.4 服务器的关闭........................................................................................................................... - 21 -4.1.5 服务器管理用户...................................................................................................................... - 21 - 4.2 客户端的设计与实现 ....................................................................................................................... - 27 -4.2.1 客户端工作流程图 ................................................................................................................. - 27 -4.2.2 客户端登陆主界面 ................................................................................................................. - 27 -4.2.3 客户端注册主界面 ................................................................................................................. - 28 -4.2.4 客户端聊天主界面 ................................................................................................................. - 32 -4.2.5 客户端之间聊天...................................................................................................................... - 33 -4.2.6 用户下线.................................................................................................................................... - 37 - 4.3 系统功能特点及改进 ....................................................................................................................... - 39 -第五章结论................................................................................................................................................... - 40 - 致谢................................................................................................................................................................. - 41 - 参考文献.......................................................................................................................................................... - 41 - 文献综述.......................................................................................................................................................... - 41 -摘要随着时代的进步,互联网日益变得普及和大众化。
08 届毕业(设计)论文题目网络聊天工具专业班级信息与计算科学学号 ********** 学生姓名许四平指导教师李圆媛指导教师职称讲师学院名称理学院完成日期: 2012 年 5 月 30日网络聊天工具Chat Tool学生姓名许四平(QQ:1012264872) 指导教师李圆媛摘要当今,互联网发达,随着中国网名数量一跃成为世界第一,通过网络的信息交流变得日益流行,除去传统的电话、报文等通信手段,即时聊天已经变得喜闻乐见了,不仅因为不收取任何费用,而且能够实现快速的信息交换,增添聊天乐趣,如添加表情等,极大丰富了即时聊天的功能,使得即时聊天已经成为当下颇受亲睐的通信手段.当前是数字信息时代,网络时代,任何一种编辑工具都不能忽视在网络上的应用,聊天工具适用于网上会议或闲聊的一些场合。
聊天工具为网友提供了较好的交友环境,网友之间相互以文字交谈,在形式上有点类似笔友的性质,却大大节省了书信往返的时间,这也是网上交友之所以如此热门的原因。
本课题用VB语言实现点对点,点对多的即时聊天,单用户通过添加好友后,可以与不同的好友进行聊天,从而实现多用户间的通信.为了丰富聊天的乐趣,实现了发送表情的功能。
关键词:聊天工具;VB;数字信息时代AbstractToday, the Internet is developed,With China's Internet users had become the first in the world, through the network information exchange has become increasingly popular. In addition to the traditional telephone, message and other communications means, instant chat has become popular.Not only because it is free , but also it can achieve rapid information exchange and add chating happiness, such as expressions,it enriched chat function instantl, add chat fun, such as adding expression, enrich the function of instant chat function, make instant chat has become a closing communication means at present .The current is the age of digital information and the network era .Chat tools provide a good environment to make friends for users , net friends talk to each other with words, is similar to the nature of the pen Pal in terms of form, but it saves much time used by backing and forthing between the letters , this is also the reason why it is so popular making friends online .This topic achieves point-to-point and point to more instant chat by VB language , single user through the add buddy, can chat with different friends , so that it realizes the communications between the more users. In order to enrich the of fun chat , it realizes the function of sending expression.Key words: chat tools; VB; the age of digital information目录摘要 (1)Abstract (2)第一章需求分析 (3)1.1课题背景及意义 (3)1.2设计目标 (4)1.3设计要求 (4)1.4可行性分析 (5)第一章相关知识 (7)2.1实验工具介绍 (7)2.1.1 AppServ集成工具 (7)2.1.2 MySQL数据库 (7)2.1.3 AppServ集成工具 (7)2.2 Windows Sockets 规范 (7)2.3即时聊天工具简介 (6)2.4 C/S架构简介....................................................................................................... 错误!未定义书签。
【毕业论文设计】基于C_的网络聊天软件的设计与实现基于C_的网络聊天软件的设计与实现1引言1.1课题背景随着互联网应用越来越丰富,以快速、交互、简便为代表的即时通讯工具,已经成为当前网络用户最喜爱的网络沟通工具。
聊天软件作为当今使用最为广泛的即时性通信工具之一,给互联网上的用户提供了诸多的服务,如文字聊天、文件传输、语音聊天、视频聊天等功能。
作为即时通讯工具最具增长潜力之一的聊天软件,不仅在基础应用方面,还是产品扩展应用方面都将有质的飞跃,它为满足人们的需要,将其功能不断的完善。
随着聊天软件功能的不断完善,用户通过聊天软件在互联网上尽情的交谈,不但可以文字聊天和文件传输,还可以通过语音、视频来聊天。
在今后随着互联网技术的发展,聊天软件也在以前所未有的速度改变着人们的生活方式,它必定会成为人们网络生活不可缺少的一部分。
1.2国内外的发展现状1996年11月ICQ在全球发布,拉开了互联网IM(Instant Messenger,即时通讯)应用的序幕。
就是这样一款小软件在短短数年时间里发展出一个巨大的IM产业。
时至今日,即时性通讯工具早已成为最热门的网络应用之一。
国内外的聊天工具举不胜数。
ICQ作为全球第一款即时性通讯工具,在经过短短数年的发展,其行业内的地位如今已是无人能够撼动。
ICQ名字取自英文“I seek you”的谐音,即是“我找你”的意思。
最初的ICQ只有两个特性,即用户列表和即时聊天。
但一经推出就受到众多网民的喜爱,6个月内其注册用户迅速攀升至85万,1998年它的用户数量更是翻了10数倍,达到了1200万人。
ICQ的迅猛发展也让当时的互联网领头羊Yahoo和在桌面软件领域独步天下的微软嗅到了商机,它们分别推出了Yahoo Messenger、MSN Messenger和昙花一现的MS Chat。
即时通讯市场雏形顿显,有了国际互联网巨头和最大软件公司的融入,即时通讯时代的大幕就此徐徐拉开。
基于TCPIP的网络聊天工具设计毕业论文基于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 communicates 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 combined to make the system’s function come true. The Server and Client has the task on their’ own which i s 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)1.2 聊天系统的开发目标 (1)1.3 聊天系统的开发意义 (1)1.4 论文的主要内容 (2)第二章开发工具和关键技术 (3)2.1 开发工具 (3)2.2 TCP/IP协议 (3)2.3 客户机/服务器模式 (3)2.4 套接字网络编程 (4)2.4.1套接字简介 (4)2.4.2 TCP套接字的应用 (6)2.5 MFC(Microsoft Foundation Class) (7)2.5.1 MFC简介 (7)2.5.2 MFC类库 (7)第三章、系统设计 (9)3.1设计原理 (9)3.2 系统总体功能结构 (9)3.3 建立类模型 (11)3.3.1服务器端类 (11)3.3.2 客户端类 (13)第四章系统模块详细设计 (15)4.1服务器模块 (15)4.2 客户端模块 (15)4.2.1注册模块 (15)4.2.2登陆模块 (15)4.3 文字聊天模块 (16)4.3.1私聊模块 (16)4.3.2群聊模块 (16)第五章系统测试 (17)5.1 测试目的 (17)5.2 测试内容与结果 (17)5.2.1服务器测试 (17)5.2.2 单元模块测试 (17)5.2.3系统评价: (23)第六章总结 (24)6.1毕业设计的总结 (24)6.2 经验和感想 (24)致谢 (25)参考文献 (26)第一章引言1.1聊天系统的研究现状在高速发展的信息时代,人们有众多的通讯手段[1]。
比如电话、手机、邮箱等。
每个工具都存在不完善的地方,比如邮箱存在实时性的问题,手机、电话等在通信的过程中不能实现一对多的聊天。
因此为了填补这个漏洞,开发出网络聊天工具是至关重要的。
如今网络聊天工具的发展也逐渐形成规模,它不仅价格便宜、通讯迅速,且能同时与多位好友进行在线聊天。
近几年来,网络聊天工具有了更为广阔的市场和前景。
据科学统计,截止2009年,在网络聊天工具的使用方面,全球已经达到十亿的用户量,账号的申请量为25亿,我国在该方面的使用数据也在不断增长,截止2013年,我国的使用量为4.68亿,其年增长率为12.7%[2]。
网络聊天工具在广域网上具有较为成熟的技术,在开发的过程中,会调用多种协议,但是使用的核心协议是TCP协议或UDP协议。
比如国外产品ICQ、MSN、Yahoo通等,国内产品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]。
编程的核心是套接字的运用。
2.3 客户机/服务器模式客户机/服务器方式是用户和编程者都很熟知的网络结构,在TCP/IP 环境下,主要是运用该模式进行网络编程。
它主要是对网络程序的一种运行方式进行描述,能够实现网络用户间的相互沟通。
在该模式下,计算机系统的硬件环境能够很好的发挥其长处,并保证客户端以及服务器都有适当的任务,将原有的通讯开销降至一定水平。
客户端和服务器是通过主动请示达到发送消息的目的。
客户端首先是向服务器发送请求消息,并等待响应结果。
而服务器会对用户端的信息做出判断和应答。