C#UDP广播和组播编程实验报告

C#UDP广播和组播编程实验报告

ID:47419014

大小:70.79 KB

页数:22页

时间:2019-06-03

C#UDP广播和组播编程实验报告_第1页
C#UDP广播和组播编程实验报告_第2页
C#UDP广播和组播编程实验报告_第3页
C#UDP广播和组播编程实验报告_第4页
C#UDP广播和组播编程实验报告_第5页
资源描述:

《C#UDP广播和组播编程实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、贵州大学实验报告学院:计算机科学与技术专业:软件工程班级:软件132姓名常伟学号1308060226实验地点一教802实验时间2016.5.8指导教师蔡丽实验成绩实验项目名称实验七C#UDP广播和组播编程实验目的通过本实验掌握C#中UDP编程的方法,了解其区别与适用场合。实验内容实现简单的基于UDP的多播和广播通信程序,要求使用C#的UDPClient类。实验原理一、UDP特性。(1)UDP是一个无连接协议,传输数据之前源端和终端不建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。

2、在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。(2)由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息。(3)UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包的额外开销很小。(4)吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、源端和终端主机性能的限制。(5)UDP使用尽最大努力交付,即不保证可

3、靠交付,因此主机不需要维持复杂的链接状态表(这里面有许多参数)。(6)UDP是面向报文的。发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付给IP层。既不拆分,也不合并,而是保留这些报文的边界,因此,应用程序需要选择合适的报文大小。实验步骤一、设计程序界面1.设计程序界面。在visualstudio2012环境下创建项目。设计其界面。其界面如下。二、实现功能在本地启动两个程序,在同一局域网的另外一台主机上再启动一个程序,其中本地的一个程序作为发送端,其余两个程序作为接收端,接收端的端口号都设为8001。1

4、.现在将接收端加入分组,开始接收,发送端发送信息给接收程序。本地的发送程序本地的接收程序非本地的接收程序从上面的截图可知,两个接收程序都成功接收信息,且发现发送来的发送端的端口号却不同。2.现在将接收端加入不同的分组,并开始接收。非本地的接收程序本地的接收程序现在开始向组“225.0.0.1”发送信息。接收情况如下。组“225.1.0.1”的接收情况组“225.0.0.1”的接收情况3.在接收端处于不同分组的情况下,发送端采用“广播”发送。采用“广播”发送接收情况如下。组“225.0.0.1”接收到信息组“225.

5、1.0.1”接收到信息由此可以看出广播和组播的区别。广播消息将同时向网上的一切进程转发,不论这个进程是独立进程还是某个组播组中的进程,都能畅通无阻地接收到广播消息。另外,仔细观察还能发现,无论是广播还是组播,消息都是匿名发送的。实验数据;usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text

6、;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;usingSystem.Net;usingSystem.Net.Sockets;usingSystem.Threading;namespaceUDP广播和组播{publicpartialclassfrmUdpBroadcast:Form{privateUdpClientsendUdpClient;privateUdpClientreceiveUdpClient;IPEndPointbroadcastIPEn

7、dPoint;publicfrmUdpBroadcast(){InitializeComponent();IPAddress[]ips=Dns.GetHostAddresses(Dns.GetHostName());tbxlocalip.Text=ips[6].ToString();intport=8001;tbxlocalport.Text=port.ToString();tbxGroupIp.Text="225.0.0.1";//默认组tbxSndtoGroupIp.Text="225.0.0.1";}//设置

8、加入组privatevoidchkbxJoinGroup_CheckedChanged(objectsender,EventArgse){if(chkbxJoinGroup.Checked==true){tbxGroupIp.Enabled=false;}else{tbxGroupIp.Enabled=true;tbxGroupIp.Focus();}}//

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。