局域网点对点通信软件设计与实现

上传人:s9****2 文档编号:562309638 上传时间:2023-03-20 格式:DOC 页数:20 大小:203.01KB
返回 下载 相关 举报
局域网点对点通信软件设计与实现_第1页
第1页 / 共20页
局域网点对点通信软件设计与实现_第2页
第2页 / 共20页
局域网点对点通信软件设计与实现_第3页
第3页 / 共20页
局域网点对点通信软件设计与实现_第4页
第4页 / 共20页
局域网点对点通信软件设计与实现_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《局域网点对点通信软件设计与实现》由会员分享,可在线阅读,更多相关《局域网点对点通信软件设计与实现(20页珍藏版)》请在金锄头文库上搜索。

1、网络编程技术课程设计报告课程设计题目:局域网点对点通信软件与实现作者所在系部: 计算机科学与工程系 作者所在专业: 网络工程 作者所在班级: 作 者 姓 名 : 作 者 学 号 : 指导教师姓名: 完 成 时 间 : 2013年07月10日 课程设计任务书课题名称局域网点对点通信软件设计与实现完成时间 20周指导教师职称讲师学生姓名班 级总体设计要求和技术要点1. 总体功能描述:(1)本软件采用单纯P2P方式,各个客户端之间可以直接发送消息和传输文件;(2)根据选中的用户,实现一对一或一对多通信。(3)软件中包括在线的用户信息列表、通信信息列表(聊天及文件传输)等。(4)实现用户的动态加入和退

2、出。(5)在线列表中记录登陆的主机名称及IP地址信息。(6)客户端定期发送心跳包,表示本客户端的存在。2. 开发工具: 采用Visual Studio 2010,编程语言为C#。3. 采用技术: 多线程技术、Socket通信技术、TCP、UDP通信技术,P2P技术等。4. 基本要求: 操作简便 功能齐全,风格统一 没有明显错误和异常工作内容及时间进度安排119周:需求分析及项目的设计与实现220周:项目验收与答辩,撰写课程设计报告课程设计成果1局域网点对点通信软件2课程设计报告书摘要所谓网络中的点对点通信是实现网络上不同计算机之间,不经过任何中继设备而直接交换数据或服务的一种技术。由于允许网络

3、中任何一台计算机可以直接连到网络中的其他计算机,并与之进行数据交换,这样既可以消除中间环节,也使得网络上的沟通变的更加容易、更加直接。本文介绍的是一种是用Winsock编程技术,基于TCP/IP协议的、面向连接的流式套接字网络通信编程设计。局域网即时通讯软件使用TCP协议作为传输层的协议,采用点对点模式服务,不需要服务器支持,使局域网用户的使用更加方便和高效。它可以实现局域网用户的自动检测,用户间文本信息的交流,文件的传输等功能。本系统使用Visual Studio 2010作为开发工具,将.NET中的一些技术运用到系统中关键词:点对点;TCP/IP;Socket;UDP;P2P目 录摘要2目

4、 录3第1章 绪论41.1课题研究现状分析41.2选题的目的及意义4第2章 系统需求分析52.1 问题的提出52.2 系统的设计目标5第3章 系统总体设计63.1系统功能设计63.2功能模块的说明73.2.1初始化(广播用户信息)73.2.2用户列表管理73.2.3文本信息传输73.2.4文件传输73.2.5发送心跳包7第4章 系统实现84.1初始化模块的设计和实现84.1.1监听端口84.2 广播消息84.3 文本消息的发送和接收94.4 文件的发送和接收124.5发送心跳包14第5章 课程设计总结165.1 主要问题及解决办法165.2 课程设计体会165.3 自我评定16参考文献17第1

5、章 绪论1.1课题研究现状分析随着计算机网络日新月异的发展,人们的交流方式越来越多,传统的交流方式已经难以满足人们的交流要求,在互联网或局域网上即时的和好友取得联系,已经成为当今社会人们主流的联系方式。因此,两台计算机之间进行即时通讯、发送文件等交流方式已经成为必然潮流。作为整个计算机网络的基础,局域网用户之间进行即时通许的需求更大,而且他们之间进行文件传输与共享的频率更高,因此有必要设计一款专门为局域网用户使用的即时通讯软件。当前存在的即时通讯软件很多,但其中很多一部分由于嵌入了太多的娱乐功能而不很实用。对于局域网用户来说,首先,由于他们之间进行通讯的不确定性和随机性,所以如果专门为他们建立

6、一个服务器端的话,势必会造成很大的浪费,因此,本软件选择实用点对点服务模式,不需要服务器支持。其次,局域网用户之间进行交流的主要方式及时文字信息交流,因此,本软件实现的最基本的功能就是文字信息的传输。再次,局域网用户要频繁的进行文件的传输,所以本软件还实现了两个用户之间文件的传输。1.2选题的目的及意义随着计算机和Internet的飞速发张,网上聊天已成为人们相互交流的一中方式,与E-mail,电话相比,聊天服务更具有实时性和有效性。网络版的聊天软件种类繁多,如QQ,MSN等,实时随时随地上网聊天,给人们带来了很大的方便。但是这些聊天软件业存在以下不足:用户必须连接Internet;用户工作时

7、容易沉迷于网络聊天。为了方便单位企业内部的信息交流,避免企业内部员工使用类似QQ等软件泄露内部消息,减少不必要的财力和人力资源浪费,开发一耳光局域网聊天软件是非常必要的。 第2章 系统需求分析2.1 问题的提出为了满足人们在局域网内部进行安全、有效、快速的沟通以及文件的传输的目的。2.2 系统的设计目标(1)本软件采用单纯P2P方式,各个客户端之间可以直接发送消息和传输文件;(2)根据选中的用户,实现一对一或一对多通信。(3)软件中包括在线的用户信息列表、通信信息列表(聊天及文件传输)等。(4)实现用户的动态加入和退出。(5)在线列表中记录登陆的主机名称及IP地址信息。(6)客户端定期发送心跳

8、包,表示本客户端的存在。第3章 系统总体设计3.1系统功能设计 本软件可以实现局域网内用户的自动检测,用户之间的文件信息交流,文件传输等功能。据此,本设计的功能模块可以分为5个:广播用户信息,用户列表管理,文字信息传输,文件传输,发送心跳包。系统的总功能模块图如图3-1所示:图3-1 系统功能模块图用户主界面如图3-2所示:图3-2用户界面图3.2功能模块的说明3.2.1初始化(广播用户信息)该模块的主要功能是搜集本机用户的相关信息,如计算机名,IP地址,初始化Socket,开始监听端口,并把本机用户的信息通过广播消息发送出去。3.2.2用户列表管理该模块的主要功能是对收到的用户信息进行管理,

9、包括用户列表的更新,用户信息查找,同时还要对其他用户的广播消息进行反馈。3.2.3文本信息传输该模块的主要功能是把当前文本框的内容发送给当前选中的用户,分为私聊和群聊,如果发送成功,则把当前文本框的内容加上某些必须的信息在聊天记录文本框中显示,同时清空输入文本框。该模块还要具有纠正用户为空(为选中用户)或者发送内容为空的情况。3.2.4文件传输该模块的主要功能是实现两个用户之间的点对点的文件传输。使用TCP协议进行传输,能确保文件发送过程中不出现丢失现象。3.2.5发送心跳包该模块的主要功能是检测用户是否在线。第4章 系统实现4.1初始化模块的设计和实现使用Socket编程都是使用的是一些绑定

10、端口和IP的普通的程序,而UDP数据报则支持向局域网内的所有用户发送组播消息,即向ip224.100.0.1发送消息,局域网内所有监听相同端口的UDPClient都会收到该消息。4.1.1监听端口 本程序中用到了大量的Socket Udp发送和接收数据的操作,所以把这些相关操作定义为一个组件,这样就简化了程序中其他部分的代码;private UdpClient udpClient;private int port = 8002;private void Form1_Load_1(object sender, EventArgs e) Thread myThread = new Thread(R

11、eceiveMessage); myThread.Start(); private void ReceiveMessage() udpClient = new UdpClient(port); 4.2 广播消息发送广播消息主要代码:private void Form1_Load(object sender, EventArgs e) name = Dns.GetHostName(); Cursor.Current = Cursors.WaitCursor; Thread myThread = new Thread(ReceiveMessage); myThread.Start(); Threa

12、d.Sleep(1000); SendMessage(broderCastIP, login, + name); IPAddress ips = Dns.GetHostAddresses(name); IPAddress ip = ips1; txtIP.Text = ip.ToString(); txtHostName.Text = name; txtIP.ReadOnly = true; txtHostName.ReadOnly = true; Thread t = new Thread(lis); t.Start(); t.IsBackground = true; 4.3 文本消息的发送

13、和接收文本消息的发送与接收是本系统用户使用的最基本的功能模块。文本消息的发送涉及到的内容有获取当前选中用户的ip地址以及其他信息,获取当前文本框中的内容并对其中的内容作简单的判断(是否为空,禁止发送空消息),将当前文本框中的内容复制到聊天记录文本框并清空当前文本框的内容等。发送的核心代码:private void button1_Click(object sender, EventArgs e) if (rtbSend.Text.Trim().Length 0) if (rdoPrivate.Checked) if (lvwUser.SelectedItems.Count = 0) MessageB

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 试题/考题 > 初中试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号