局域网通信设计报告.doc
《局域网通信设计报告.doc》由会员分享,可在线阅读,更多相关《局域网通信设计报告.doc(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课程设计(论文)局域网通信系统论文作者:指导老师:专 业:系 (院):答辩日期:名目摘 要1一、绪论11.1 即时通信系统的概念11.2 UDP协议11.3 开发背景11.4 运行环境21.5程序核心流程图21.6功能设计2二、 主要界面及功能的实现42.1界面设计41)主界面42)添加好友界面43)更换头像界面54)搜寻界面55)谈天界面56)修改备注界面62.2编码实现62.2.1 主程序初始化函数6监听端口方法72.2.3 添加好友方法82.2.4 删除好友9修改好友备注9修改头像9截图功能102.2.7 谈天界面初始化方法102.2.8 消息接收并显示112.2.9 图片发送以及保存方
2、法12三、软件测试13四、结论14致 谢15参考文献16摘要摘 要即时通讯软件是目前计算机用户进行沟通最普遍的方式之一,各种各样的谈天软件也层出不穷;服务供应商也供应了越来越丰富的通讯服务功能。即时通信中最基本的功能就是通过计算机之间的文本数据的互换的形式实现思想的沟通和沟通,它的优点是便利快捷,为人们之间创建了一种新型的、廉价的、快速的、简便的沟通方式。本系统是基于UDP的局域网谈天工具。从实现了面对无连接的点对点异步通信,在此基础上应用了多线程技术解决了局域网多用户间的通信问题。谈天程序以Visual Studio 2008为基本开发环境和C# 语言进行编码设计试验表明该谈天工具能够为局域
3、网内部人员供应一个很好的沟通平台,便利了工作上的沟通与协同。本课题开发了一个基于局域网内部的消息通讯平台。在此平台上可以实现内部用户之间的实时通讯,使用户之间能更准时、更便利有效的沟通信息。实现了局域网内部电子信息化的沟通,提高了工作效率。本系统有如下功能:1、信息的接受和发送功能:包括文字信息以及图像信息。2、添加好友功能:能够通过IP查找到相对应的用户以及添加其为自己的好友。3、数据本地化功能,将好友信息保存在本地.4、图片发送与接收,保存到本地功能.5、截屏功能6、更换头像功能第1章 绪论一、 绪论1.1 即时通信系统的概念即时通讯(Instant Messenger,简称IM),是指能
4、够即时发送和接收互联网消息等的业务。自1998年面世以来,特殊是近几年的快速进展,即时通讯的功能日益丰富,渐渐集成了电子邮件、博客、音乐、电视、嬉戏和搜寻等多种功能。即时通讯不再是一个单纯的谈天工具,它已经进展成集沟通、资讯、消遣、搜寻、电子商务、办公协作和企业客户服务等为一体的综合化信息平台。是一种终端连网即时通讯网络的服务。即时通讯不同于e-mail在于它的交谈是即时的。大部分的即时通讯服务供应了状态信息的特性显示联络人名单,联络人是否在在线与能否与联络人交谈。 近年来,随着无线通信的快速进展,移动互联网为传统的Internet注入了新的活力,同时也为即时通讯带来了一场革命,交互双方已经不
5、再局限于以网络终端设备为唯一的接入手段,PC机在传统的网络即时通讯中所起的作用正在被手机、平板电脑所取代。这使得即时通讯更加大众化和人性化,即使不会使用电脑的人现在也可以享受到即时通讯给人们带来的变化。1.2 UDP协议UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是 OSI 参考模型中一种无连接的传输层协议,供应面对事务的简洁不行靠信息传送服务,IETF RFC 768是UDP的正式规范。在选择使用协议的时候,选择UDP必需要谨慎。在网络质量令人不特别满足的环境下,UDP协议数据包丢失会比较严峻。但是由于UDP的特性:它不属于连接型协议,因而具有资源
6、消耗小,处理速度快的优点,所以通常音频、视频和一般数据在传送时使用UDP较多,由于它们即使间或丢失一两个数据包,也不会对接收结果产生太大影响。比如我们谈天用的ICQ和QQ就是使用的UDP协议。1.3 开发背景在网络越来更加达的今日,人们对网络的依靠越来越多,越来越离不开网络,由此而产生的谈天工具越来越多,类似QQ、网络谈天时一类的谈天系统的进展日新月异。但是,QQ等现有的谈天程序也存在着很大的问题。比如使用QQ的时候,就对各种弹窗广告深恶痛绝。对于登陆后时不时弹出的打搅窗口,很是厌烦。因此在本次作业下产生了一个制作类似QQ的网络谈天工具并且“无垃圾信息”干净谈天工具的想法,而且盼望通过制作该程
7、序还能更好的学习网络软件编程学问。1.4 运行环境1.本系统基于Visual Studio 2008设计,适用于WINDOWS XP,WIN7,WIN8等系统。2.运行环境仅限于局域网,否则无法正常通信.3.使用C#语言开发1.5程序核心流程图如图1.1所示:接收Receive发送Send客户端1关 闭Listen监听端口Udp图1.1程序核心流程图1.6功能设计1) 自动猎取本机IP,并监听指定端口有无消息接收。2) 界面显示:将已添加好友显示在好友列表中,如有不是好友向本机发消息,将自动添加为好友。3) 谈天功能:与好友谈天。4) 好友纪录:能保存好友信息至本地,并能察看。5) 更换头像:
8、双击头像,能够更换头像显示 6) 发送图片:在谈天界面选择要发送的图片进行发送。7) 截屏:将截取整个屏幕,并且保存到指定位置。如图1.2所示: 图1.2 功能设计图 客户端截 取 屏 幕保存好友信息添删备注好友更 改 头 像接收各种信息猎取本机IP地址17第2章 主要界面及功能的实现二、 主要界面及功能的实现2.1界面设计1)主界面如图1.3所示:图1.3主界面图2)添加好友界面如图1.4所示:图1.4添加好友图3)更换头像界面如图1.5所示:图1.5更换头像界面图4)搜寻界面如图1.6所示:图1.6搜寻界面图5)谈天界面如图1.7所示:图1.7谈天界面图6)修改备注界面如图1.8所示:图1
9、.8修改备注图2.2编码实现2.2.1 主程序初始化函数改函数的主要功能为创建UDP实例,并且开启新线程监听消息收发端口,,以及从本地加载好友信息,添加至主界面的ListBox控件列表中void Form1_Load(object sender, EventArgs e) uc = new UdpClient(6959); LIPAddress.Text = getInfo.myIp(); Thread th = new Thread(new ThreadStart(listen); th.IsBackground = true; th.Start(); /-填充ListBox- loadXM
10、LList(); if (friendsList.Items.Count != 0)/选中列表第一个 friendsList.SelectedIndex = 0;2.2.2监听端口方法该方法主要功能是监听端口信息,收到消息后首先推断是否已存在该好友的谈天窗口,假如存在只发送消息到窗口,否则创建新的窗口实例,并且弹出谈天界面。还实现了生疏好友来信后自动添加信息至ListBox和本地。IPEndPoint iep; string text,text1; byte b; private void listen()/监听端口 iep = new IPEndPoint(IPAddress.Parse(g
11、etInfo.myIp(), 6959); while (true) text = ; b = uc.Receive(ref iep); text = System.Text.Encoding.UTF8.GetString(b); if (text != ) text1 = text; MethodInvoker mi = new MethodInvoker(openNewForm); BeginInvoke(mi); public void openNewForm() CommForm cf=null; if (!listIP.Contains(iep.Address.ToString()
12、Friend f = new Friend(); f.IpAddress = iep.Address.ToString(); f.NickName = ; SaveOrLoad.addNodeXML(f); loadXMLList(); if (listForm.Count = 0) cf = new CommForm(listFriend, iep.Address.ToString(),listIP); cf.Name = iep.Address.ToString(); cf.rMessage(text1, iep.Address.ToString(),b); cf.Show(); list
13、Form.Add(cf); else foreach (CommForm f in listForm) if (f.Name = iep.Address.ToString() f.rMessage(text1, iep.Address.ToString(),b); else cf = new CommForm(listFriend, iep.Address.ToString(), listIP); cf.Name = iep.Address.ToString(); cf.rMessage(text1, iep.Address.ToString(),b); cf.Show(); listForm
14、.Add(cf); 2.2.3 添加好友方法该方法实现的功能为 单击主界面的添加好友按钮,弹出添加好友对话框,输入对面IP后点击确定返回IP,并添加至本地和ListBox控件。private void button2_Click(object sender, EventArgs e) AddFriendForm aff = new AddFriendForm(); if (aff.ShowDialog() = DialogResult.OK) if (!listIP.Contains(aff.IpAdd) Friend f = new Friend(); f.IpAddress = aff.I
15、pAdd; f.NickName = ; SaveOrLoad.addNodeXML(f); friendsList.Items.Add(aff.IpAdd);/列表添加 loadXMLList(); else MessageBox.Show(已存在); 2.2.4 删除好友该方法实现的功能为右击ListBox控件弹出右键菜单,单击后删除好友。private void 删除ToolStripMenuItem_Click(object sender, EventArgs e) if (friendsList.SelectedIndex != -1) SaveOrLoad.DelNodeXML(f
16、riendsList.SelectedIndex); friendsList.Items.Remove(friendsList.SelectedItem.ToString(); loadXMLList(); else MessageBox.Show(没有选择任何项); 2.2.5修改好友备注该方法实现的功能为右击ListBox控件弹出右键菜单,单击后弹出修改对话框输入后返回输入信息。private void 备注ToolStripMenuItem_Click(object sender, EventArgs e) if (friendsList.SelectedIndex != -1) Cha
17、ngeNameForm aff = new ChangeNameForm(); if (aff.ShowDialog() = DialogResult.OK) SaveOrLoad.UpdateNodeXML(friendsList.SelectedIndex, aff.ChangeName); friendsList.ItemsfriendsList.SelectedIndex= aff.ChangeName; loadXMLList(); else MessageBox.Show(没有选择任何项); 2.2.6修改头像该方法主要实现了双击主界面的头像,弹出头像选择窗体,单击喜爱的头像后,实
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 局域网 通信 设计 报告
限制150内