您的位置:新文秘网>>通信/>>正文

网络聊天工具的设计与开发

发表时间:2013/7/10 9:33:06


网络聊天工具的设计与开发

专业:计算机科学与技术 班级:计(092)本 姓名:郑肖骏 指导教师:罗江英

摘要 随着互联网的快速发展,网络聊天工具已经作为一种重要的信息交流工具,受到越来越多的网民的青睐。目前,出现了很多非常不错的聊天工具,其中应用比较广泛的有Netmeeting、腾讯QQ、MSN-Messager等等。网络聊天工具作为一种新型的通信和交流工具,突破了地域的限制,可以提供更为便捷、灵活、全面的音、视频信息的传递和服务,具有极其广泛的发展前景。本论文提出一个基于C#语言运行于.NET平台上的局域网聊天器的解决方案,并对其具体应用中的实现模块进行了剖析。该聊天器包括服务器端和客户端两个模块,服务端为客户端提供用户信息和IP地址,客户端间可以进行文字通信。文字聊天采用TCP传输模式。程序使用Socket以完成服务器端和客户端间的通信,使用多线程技术支持多用户操作。

关键词 多线程 TCP传输模式 Socket


Design And Development Of Net Chating Tool

Profession:Computer Science And Technology Class:J092 Name:*iaojun Zheng Instructor:Jiangying Luo

Abstract Along with the fast development of Internet, the network chating tool has already become one kind of important communication tools and received more and more web cams favor. At present, many e*tremely good chating tools have appeared . for e*ample, Netmeeting, QQ, MSN-Messager and so on. As a new tool about communication, net chating system has broken through geographical restrictions, has provides more convenient, fle*ible and complete transmission and service. Furthermor
……(新文秘网https://www.wm114.cn省略1693字,正式会员可完整阅读)…… 
速,能同时与多个好友进行通讯的工具的出现,而网络聊天工具就满足了这些需求。在互联网技术的发展的今天,聊天软件也在以前所未有的速度改变着人们的生活方式,它必定会成为人们网络生活不可缺少的一部分。
广域网上的即时通信工具,如今一般采用UDP或者 TCP协议体系来实现,开发技术已经比较成熟,这些软件,在使用方面各有特色,在实现方面也各有所长,但基于这些产品正在商业运营阶段,其实现方式属于商业机密,具体细节不可能得知,但是它在大的方面无非就是利用各种平台上的网络通信接口,建构基于TCP/IP,或者UDP协议的软件产品。
网络的飞速发展使网络应用程序的开发地位显的越来越重要,而网络应用程序的开发和传统应用程序的开发在思想和实现上有很大的区别,随着网络技术和数据库管理系统的发展,C/S体系结构在软件的开发中越来越流行。因为这种结构的应用软件可以充分发挥网络的作用和数据库系统的优势,以满足人们各种应用的需求。
本文首先简介涉及的相关技术与基本知识,然后阐述本软件的功能,再具体分析各个模块的功能及具体实现方法。














第一章 概述

1.1 本课题研究的意义
21世纪是信息的时代,随着互联网技术的发展,信息在传递方面也有了崭新的一页。现今聊天软件成为信息传递最为广泛的应用工具,它发挥了即时性通信的特点,可以让用户在第一时间内得到信息的交流。人性化的设计让每个用户都可以得心应手的使用,从而获得更多人的青睐。Internet的出现连通了整个世界,而聊天软件的出现则连通了每一位网上的用户。随着网络应用的发展,聊天软件已经成为最热门的网络应用之一。经历了近几年突飞猛进的发展之后,即时通讯工具早已不再是简单的互联网通讯工具,它已经成为一个集互动交流、休闲娱乐、信息管理为一体的多元化互联网应用平台。
系统开发任务主要包括前台界面设计和后台数据库管理的设计。将理论与实践相结合,运用Visual Studio 2008开发工具,设计一个使用简单,系统资源消耗少的完整的网络聊天软件系统,可以给人们彼此之间的沟通带来方便,并且通过聊天软件建立深刻的友情,让人们在互联网上的交流更加充满活力与生机。
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。即时通讯市场雏形顿显,有了国际互联网巨头和最大软件公司的融入,即时通讯时代的大幕就此徐徐拉开。
当ICQ风行全球的时候,在国内各种仿ICQ的中文IM软件也纷纷推出,时至今日,占据国内的市场的主要是腾讯公司的QQ、微软的MSN、雅虎的雅虎通等。其中腾讯公司的QQ以占据了国内70%以上的市场。
随着IM应用的深入,其功能早已超越了初期的即时文字聊天。表情图标早已成为各个IM软件的标准功能,文件传输、语音/视频聊天、游戏、网上交友等高级功能也正越来越多地被集成进入IM应用。事实表明,现在的IM已不再是一个简单的沟通工具,而是一个信息资讯、交流互动、休闲娱乐中心,IM平台上的语音、视频点播、信息共享等新应用层出不穷。发展到现在,IM软件越来越成熟,IM产业链也已经形成,已经成为现代人和现代经济中不可或缺的一部份,相信未来IM软件的道路会更加宽广和精彩。
1.3 聊天工具开发的目标
设计一个基于WINDOWS平台的类似于QQ的即时聊天工具,实现局域网内聊天与传递信息,工具简单易用且占空间少。采用客户机/服务器的架构模式,由客户端程序和服务器程序外加服务器端用于存放客户数据的数据库组成,使用.Net提供的Socket类以及.Net的多线程功能,在不同的端口上部署各类服务,可以在单个程序中同时运行多个不同进程,而客户端通过Socket发送信息给服务器,从而实现多点对多点的聊天。该软件具有聊天软件的一般功能,模块排版整齐,能实现用户登录、用户注册、用户资料修改、查询添加好友、删除好友、好友信息查询、好友分组管理、好友分组修改移动、好友之间实现文字传输、设置聊天文本字体,并保证数据安全性和系统的可行性。



















第二章 开发平台与相关技术简介

2.1 程序开发环境
系统开发平台:Microsoft Visual Studio 2008
系统开发语言:C#
运行平台:Window2000,Windows *p,Windows 7
运行环境:Microsoft .Net Framework 3.5
数据库系统:SQL Server 2005
2.2 C# 简介
C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。
C#是一种安全的、稳定的、简单的、优雅的,由C和c++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了vb简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。
2.3 MicroSoft .NET Framework 简介
Microsoft .NET Framework是用于Windows的新托管代码编程模型。它强大功能与新技术结合起来,用于构建具有视觉上引人注目的用户体验的应用程序,实现跨技术边界的无缝通信,并且能支持各种业务流程。
在今天的软件环境中,应用程序的来源很多,它们执行很多任务。对应用程序代码的信任是一个主要需求,因为我们谁也不想软件或信息遭到破坏。给予许可的安全策略不会允许对敏感信息的不适当的访问,或将本地机器暴露给恶意的程序或甚至是有平常错误的代码。
过去,安全结构提供了基于用户帐号的隔离和访问控制--在这些限制内给予代码完全访问权,并假定由特定用户可运行的代码具有相同的信任度。不幸的是,如果所有程序都代表某用户运行,根据用户对代码的隔离对于保护一个程序不被其它用户使用是不够的。另一种情况,不能被完全信任的代码经常被转移到"沙箱"模型中执行,在此代码运行于隔离环境,而不会访问大部分的服务。
对今天应用的成功的安全解决方案必须能强化两个安全模型间的平衡。它必须提供对资源的访问,以便以完成有用的工作,它需要对应用程序的安全性作细致的控制以确保代码被识别,检测,并给予合适的安全级别。.NET Framework就提供了一个这样的安全模型。
2.4 .NET 与多线程技术
多线程是为了使得多个线程并行的工作以完成多项任务,以提高系统的效率,并且避免因耗时较长的工作线程的等待导致UI线程阻塞。线程是在同一时间需要完成多项任务的时候被实现的。
多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时交互行为
在本质上和结构来说,.NET是一个多线程的环境。有两种主要的多线程方法是.NET所提倡的:使用ThreadStart来开始你自己的进程,直接的 (使用ThreadPool.QueueUserWorkItem)或者间接的(比如Stream.BeginRead,或者调用 BeginInvoke)使用ThreadPool类。线程的基类是System.Threading。所有线程通过CLI来进行管理。
2.5 C/S结构与WINDOWS SOCKETS网络编 ……(未完,全文共26438字,当前仅显示4755字,请阅读下面提示信息。收藏《网络聊天工具的设计与开发》