基于c实现的聊天软件设计报告.docxVIP

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于c实现的聊天软件设计报告

基于c#实现的聊天软件设计报告作品设计概述:1.背景意义在网络信息技术高速发展的今天,传统的通信方式已然满足不了人们的需求。利用网络资源实现多机通信可以最大程度地满足人们对通信的需求,而不限制于距离地点。而如今流行着很多种网络聊天工具,如QQ,MSN等,都是集成的多功能聊天工具。所以,我利用这学期所学的关于C#的相关知识及网络资源,利用.NET平台实现了一个简单的聊天工具。具备了和聊天相关的基本功能,而开发这个软件的最大意义我认为在于巩固和加深对C#相关知识的学习。2.创新点我认为这款聊天软件的创新点在于,它除了实现了基本的聊天功能,如文本聊天,保存聊天记录,导出聊天记录,修改字体等,还实现了用户自定义的截图功能,更大程度的满足了用户对通信功能的需求。作品分析设计1.主要功能及分析(1)进行即时通信该功能主要指服务器和多个客户端进行即时通信。该功能实现的主要是文本传输。而对于发送即时消息的过程中,用户可以自定义设置发送文本的字体大小,清空输入框,保存聊天记录,导出聊天记录等功能。只要成功与服务器端连接,可以实现多个客户端与服务器进行即时通信。(2)自定义截图功能 该功能主要是模仿目前流行的聊天软件普遍具有的截图功能。用户可以利用该功能实现自定义窗口大小的截图并保存。更大程度满足了用户对通信的需求,方便了用户的操作。2.层次结构及各层通信协议 层次结构可以大体分为服务器和客户端两大部分,下面对其进行具体说明:服务器模块实现框图:F Y主要类设计:(sever_tcp的设计)调用到的主要类及方法属性:1.线程类: ThreadStarThread(线程同步)2.IP地址:IPAddressIPAddress.Parse()3.监听:TcpListenernetStream4.信息传送(流):ReadWriteObject附上主要部分程序(利用多线程实现监听和建立通信连接部分)publicpartialclassserver_tcp : Form {privatevoid buttonStart_Click(object sender, EventArgs e) {//用于服务器要为多个用户服务,所以需要创建一个线程监听客户端的连接要求ThreadStart ts = newThreadStart(AcceptConnect);Thread myThread = newThread(ts); myThread.Start(); buttonStart.Enabled = false; buttonStop.Enabled = true; }privatevoid AcceptConnect() { //获取本机所有IP地址IPAddress localadd = IPAddress.Parse();IPAddress[] ips = Dns.GetHostEntry(Dns.GetHostName()).AddressList;foreach (IPAddress p in ips) {if (p.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) { localadd = p;break; } } listener = newTcpListener(localadd, 51888); listener.Start();privatevoid ReadCallback(IAsyncResult ar) {try {ReadWriteObject readWriteObject = (ReadWriteObject)ar.AsyncState;int count = readWriteOStream.EndRead(ar); textBoxReceive.Invoke(setTextBoxCallback,string.Format(来自{0}{1},readWriteObject.client.Client.RemoteEndPoint,System.Text.Encoding.UTF8.GetString(readWriteObject.readBytes,0,count))+/n);if (isExit == false) { readWrite

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档