计算机网络课程设计报告--局域网广播系统.docx

上传人:lao****ou 文档编号:1118553 上传时间:2024-11-20 格式:DOCX 页数:12 大小:62.81KB
下载 相关 举报
计算机网络课程设计报告--局域网广播系统.docx_第1页
第1页 / 共12页
计算机网络课程设计报告--局域网广播系统.docx_第2页
第2页 / 共12页
计算机网络课程设计报告--局域网广播系统.docx_第3页
第3页 / 共12页
计算机网络课程设计报告--局域网广播系统.docx_第4页
第4页 / 共12页
计算机网络课程设计报告--局域网广播系统.docx_第5页
第5页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《计算机网络课程设计报告--局域网广播系统.docx》由会员分享,可在线阅读,更多相关《计算机网络课程设计报告--局域网广播系统.docx(12页珍藏版)》请在第一文库网上搜索。

1、计算机网络课程设计报告题目:局域网广播系统一、问题描述局域网广播系统可实现服务器端向客户端广播信息,还可获取本地IP或远程客户机的IP和MAC地址功能要求实现一个局域网环境下的文件的广播以及接收系统:一行一行读取文件然后广播,同一子网掩码下的的用户都可以接收并查看二、概要设计服务器端:实例化一个SOCket(套接字)对象,用来发送广播信息定义了一个获得主机IP地址和MAC地址的方法类:1、用到C#SySten1.Management的命名空间2、用到一个套接字类方法:构造方法Socket(AddrcssFanii1y.InterNetwork,SockctType.Dgram,Protoco1

2、Typc.Udp)发送数据方法:SendTo(bytess,ieps);)基本套接字为了更好说明套接字编程原理,给出几个基本的套接字:1、创建套接字一一SocketO功能:使用前创建一个新的套接字2、指定本地地址bind()功能:将套接字地址与所创建的套接字号联系起来。其它:没有错误,bind()返回0,否则SOCKET_ERROR地址结构说明:3、建立套接字连接connect()和accept()功能:共同完成连接工作4监听连接IistenO功能:用于面向连接服务器,表明它愿意接收连接。三、详细设计(主要算法和函数间的调用关系)1、设计思想整个系统分为广播发送端和接收端,发送端发送数据信息到

3、多播组。接受端可以选择接收与不接收,服务器端是信息的中心。服务器端可以打开指定的文件,通过定时器不断发送信息,同时可以自己显示正在发送和己发送的信息。客户端则可以选择接收和停止接收,同时显示接收到的内容。本课程设计按照系统的具体功能要求,首先应用SoCkCt编程创建客户端和服务器端,每个接收端就会相应的创建一个线程,它们之间通过这个连接来实现数据通信;然后在发送端和接收端设置一个监听器,用于监听发出的消息。并根据消息做出不同的动作。系统功能该系统实现了局域网内部的信息广播,同一子网掩码下的用户都可以接收并查看。发送端发送的信息。发送端可以开始发送和停止发送,接收端也可以接收和停止接收,两端都可

4、以显示发送的信息。系统架构(1)选择用户数据报协议UDP,使用VC的SOCket编程机制,分别建立发送端与接收端,自己可以设定主机的地址。(2)分别设计发送端与接收器端的界面,并使用MFC程序用户界面的开发工具包Swing进行窗体界面的布局,以及实现部分窗口事件的相应。2、模块设计(1) 广播发送端:主要实现向各个接收端发布广播消息。1、选择要发送的文件:可以选择路径。2、发送信息:运用多播数据报套接字类用于发送和接收IP多播包。3、显示消息:显示发送的内容和已发送的内容。(2) 客户端:主要实现接收发送端发送的消息,和发送端一样可以显示已接收的信息内容。和接受端得一个重要的区别在于它不需要打

5、开一个文件,代码要简单一点。3、详细设计与实现(流程图)图1设计流程图FormusingSystem;usingSystem.Co11ections.Generic;usingSystem.ConiponentMode1;usingSystem.Data;usingSystem.Drawing;usingSystem.1inq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Net.Sockets;usingSystem.Net;namespace1ANBroadcast(pub1icpartia1c1assForm1:Form(p

6、ub1icForm1()(Initia1izeComponent();)privatevoid1abe1IC1ick(objectsender,EventArgse)()privatevoidForm11oad(objectsender,EventArgse)()privatevoidbutton1C1ick(objectsender,EventArgse)(使用UDP发送数据newSocketsocket=Socket(AddressFami1y.InterNetwork,SockctType.Dgram,Protoco1Type.Udp);IPEndPointieps=newIPEndPo

7、int(IPAddress.Broadcast,8900);设置端口号socket.SetSockctOption(SocketOption1eve1.Socket,SocketOptionNamc.Broadcast,1);将发送的数据转换为字节数组bytebytessSystem.Text.Encoding.Unicode.GctBytes(riChTextBox1.Text);socket.SendTo(bytess,ieps);socket.C1ose();)frmN,1ainusingSystem;usingSystem.Co11ections.Generic;usingSystem

8、.ConiponentMode1;usingSystem.Data;usingSystem.Drawing;usingSystem.1inq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Not.Sockets;usingSystem.Net;namespace1ANBroadcastpub1icpartia1c1assfrmMain:Form(pub1icfrmMain()(Initia1izcComponent();)privatevoidIabe11C1ick(objectsender,EventArgse)()privat

9、evoidForm11oad(objectsender,EventArgse)()privatevoidbutton1C1ick(objectsender,EventArgse)(使用UDP发送数据newSocketsocket=Socket(AddressFami1y.InterNetwork,SockctType.Dgram,Protoco1Type.Udp);IPEndPointieps=newIPEndPoint(IPAddress.Broadcast,8900);设置端口号socket.SetSocketOption(SocketOption1eve1.Socket,SocketOp

10、tionName.Broadcast,1);将发送的数据转换为字节数组bytebytess=System.Text.Encoding.Unicode.GetBytes(richTextBox1.Text);socket.SendTo(bytess,ieps);socket.C1ose();)privatevoidbutton2_C1ick_1(objectsender,EventArgse)(richTcxtBox1.Text=;)privatevoid获得本地信息TOO1StriPMenUItCmCIiCk(ObjeCtsender,EventArgse)()privatevoid获取Too

11、IStriPMCnU1tenIc1iCk(ObjeCtsender,EvcntArgse)()privatevoid获取本机IP地址Too1StripMenu11em_C1ick(objectsender,EventArgse)(getIPMACAdressIpAdress=newgetIPMACAdress();System.Net.IPAddressfaddress1ist=IpAdress.get1oca1IP();foreach(IPAddressipinaddress1ist)(MessageBox.ShOW(IP地址为:+ip.ToString();)privatevoid获取本机

12、MAC地址ToO1StriPMenU1teInC1iCk(ObjCCtsender,EventArgse)(getIPMACAdressIpAdress=newgetIPMACAdress();stringmacAdress=IpAdress.get1oca1Mac();MCSSagCBOX.Show(该主机的MAC地址为:+macAdress);privatevoid获取IP地址Too1StripMenuItemC1ick(objectsender,EventArgse)()privatevoid获得TooIStriPMCnU1tenIc1iCk(ObjeCtsender,EvcntArgs

13、e)(RemotIPRemotIP=newRemotIP();RemotIP.Show();)usingSystem;usingSystem.Co11ections.Generic;usingSystem.1inq;usingSystem.Text;usingSystem.Net;usingSystem.Management;usingSystem.Runtime.InteropServices;namespace1ANBroadcast(c1assge11PMACAc1ress(pub1icSystem.Net.IPAddressget1oca1IP()(stringStrHostName=

14、Dns.GetHostNameO;得到本机的主机名System.Net.IPAddressfaddress1ist=Dns.GetHostAddresses(strHostName);/IPHostEntryipEntry=Dns.GetHostEntry(StrHostName);/取得本机IP/stringStrAddr=ipEntry.Address1istfO.ToStringO;returnaddress1ist;)pub1icstringget1oca1Mac()stringmac=nu11;ManagcmentObjectSearcher(,SE1ECT*FROMWin32_Ne

15、tworkAdapterConfiguration*);ManagomentobjectCo11ectionqueryCo1Iection=query.Get();foreach(ManagcmentObjectmoinqueryCo11ection)(if(mozfIPEnab1ed*.ToStringO=True)mac=InoMacAddress.ToStringO;)return(mac);)获取远程主机IPpub1icstringgetRemoteIP(stringRcmoteHostName)(IPHostEntryipEntry=Dns.GetHostEntry(RemotcHostName);IPAddressIpAddr=ipEntry.Address1ist;stringStrAddr=new

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 工作总结

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服