郑州科技学院C#课程设计论文题目:简单的聊天室工具院系:信息工程学院专业:计算机科学与技术班级:10计科二班姓名:李海朋学号:201015050日期:2013-5-30摘要随着网络的出现,信息资源的实时共享成为现实,更重要的是它提供了一种极为直接的交互方式,当然这种交互不单是指数据、信息之间的传递,也包括人与人之间的互相交流,各种聊天软件和在线聊天室正是承载这类交互的媒介。简单的聊天室工具程序是一种比较流行色C/S模式的聊天工具设计,基于C#进行程序的简单设计。C/S(Client/Server,客户机/服务器)模式又称C/S结构,是软件系统结构的一种。C/S模式简单的讲就是基于企业内部网络的应用系统。与B/S(Browser/Server,浏览器/服务器)模式相比,C/S模式的应用系统最大的好处是不依赖企业外网环境,即无论企业是否能上网都不影响使用(基于局域网)。简单的聊天室工具主要聊天室客户端和聊天室服务器组成。其中聊天室服务器负责管理与客户端的连接并发送消息给客户端,聊天室客户端负责接收或者发送聊天信息、登陆聊天室服务器等。关键技术Socket,所谓Socket通常也称为“套接字”,它是通信的基础,用于描述IP地址和端口,一个套接字是通信的一端,在这一端上可以找到与其对应的一个名字,一个正在被使用的套接字都有它的类型和与其相关的进程。套接字存在于通信域。通信域是为了处理一般的线程通过套接字通信而引进的一种抽象概念。套接字通常和同一个域中的套接字交换数据(数据交换也可以穿越域的界限,但是这时需要执行莫种解释程序)。它也可以说是一个通信链的句柄。应用程序通常通过套接字向网络发出请求或者应答网络请求。研究人员为TCP/IP网络通信开发了一个API(应用程序接口)。这个API称为Socket接口(套接字)。目录1概述..................................................................................................41.1开发背景...............................................................................41.1.1各种聊天工具的兴起.................................................41.1.2本系统开发环境.......................................................51.1C#语言的发展......................................................................52C/S聊天模型设计..........................................................................62.1服务器/客户端聊天模型....................................................62.2服务器/客户端消息传递模型............................................73聊天协议..........................................................................................83.1关于聊天协议的应答.........................................................83.2聊天状态处理......................................................................93.3聊天命令介绍......................................................................93.3.1CONNECT命令............................................................93.3.2JOIN命令................................................................103.3.3LIST命令................................................................103.3.4CHAT命令.................................................................113.3.5PRIV命令.................................................................113.3.6EXIT和QUIT命令...................................................114系统功能定义...............................................................................124.1聊天工具服务器................................................................124.2聊天工具客户端................................................................135系统功能设计...............................................................................145.1聊天工具服务器的协议解析流程图.................................145.2聊天工具客户端的协议解析流程.....................................166系统功能实现................................................................................176.1服务器端程序设计............................................................176.1.1类和成员定义的以及构造函数.............................176.1.2获得有效的端口号和IP地址................................186.1.3启动聊天工具服务器............................................206.1.4关于ChatClient类的定义....................................236.1.5聊天命令的处理......................................................246.2客户端程序设计.................................................................316.2.1类的成员定义及构造函数.....................................316.2.2与聊天工具服务器的连接......................................326.2.3聊天信息的发送......................................................346.2.4聊天命令处理............................................................366.2.5退出聊天..................................................................397聊天工具程序的运行与测试.......................................................40总结...................................................................................................44参考文献...........................................................................................451概述1.1开发背景1.1.1各种聊天工具的兴起随着网络的出现,信息资源的实时共享成为现实,更重要的是它提供了一种极为直接的交互方式,当然这种交互不单是指数据、信息之间的传递,也包括人与人之间的互相交流,各种聊天软件和在线聊天室正是承载这类交互的媒介。随着互联网的发展,人们通过网络可以更方便快捷地进行信息交流和学习,聊天系统可以为大家提供一个更好的交流平台,在这个平台上,人们可以通过文字与符号进行实时的交谈、聊天,它是一个向整个因特网开放的地方,是提供给网民一个交友与娱乐的场所,在聊天室里网民可选择自已的聊天对象,与其进行对话交流,是网民之间相互沟通、交流情感的最佳方式之一。同时它已成为各网站提供的一个服务标准,是吸引网民,提高人气的一个重要方式。目前我国上网用户使用率最高的软件,无论是老牌的ICQ,还是国内用户量第一的腾讯QQ,以及微软的MSNMessenger都是大众关注的焦点,它们能让你迅速地在网上找到你的朋友或工作伙伴,可以实时交谈和互传信息。而且,现在不少IM软件还集成了数据交换、语音聊天、网络会议、电子邮件的功能。目前国内外做聊天系统的公司很多,产品也琳琅满目,国内有诸如腾讯QQ、新浪UC、网易泡泡等,国外有著名的MSN(新版改名为LiveMessenger)以及跨平台Gaim等。1.1.2本系统开发环境基于本学期《C#课程设计》课程的学习和期末课程设计的需要,在技术相对成熟的前提下开发的简单聊天工具。当然只是基于本课题的程序设计—简单的聊天工具,与当今各大公司开发的聊天工具相差较远,技术相对比较落后,只是着眼与本课程设计。1.1C#语言的发展C#,读做Csharp,中文译音暂时没有.专业人士一般读Csharp,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。C#语言是Microsoft.NET框架重点推出的语言,具备C++语言的安全性能和VB语言的快速开发特点,简单的说,C#其实就是一种基于Microsoft.NET平台上的一种编程开发语言,同时它也是目前最流行的开发语言之一。C#的特点包括了诸如单一继承、界面、与Java几乎同样的语法,和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NETwindows网络框架的主角。2C/S聊天模型设计2.1服务器/客户端聊天模型聊天工具主要有聊天室客户端和服务器组成,其中聊天室负责管理与客户端的连接并发送消息给客户端;聊天室客户端负责接收或者发送聊天信息、登陆聊天室服务器等。一个聊天工具支持多个聊天客户端进行同时连接,聊天室服务器和聊天室客户端之间根据协议进行通信,目前许多著名的聊天协议都采用这种模式,但实例定