网站大量收购独家精品文档,联系QQ:2885784924

CUDP广播和组播编程实验报告.docx

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CUDP广播和组播编程实验报告

贵州大学实验报告学院:计算机科学与技术 专业:软件工程 班级:软件132姓名常伟学号1308060226实验地点一教802实验时间2016.5.8指导教师蔡丽实验成绩实验项目名称实验七C#UDP广播和组播编程实验目的通过本实验掌握C#中UDP编程的方法,了解其区别与适用场合。实验内容实现简单的基于UDP的多播和广播通信程序,要求使用C#的UDPClient类。实验原理 一、UDP特性。 (1) UDP是一个无连接协议,传输数据之前源端和终端不建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。(2) 由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息。(3) UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包的额外开销很小。(4) 吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、源端和终端主机性能的限制。(5)UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的链接状态表(这里面有许多参数)。(6)UDP是面向报文的。发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付给IP层。既不拆分,也不合并,而是保留这些报文的边界,因此,应用程序需要选择合适的报文大小。实验步骤 一、设计程序界面设计程序界面。在visual studio 2012环境下创建项目。设计其界面。其界面如下。 二、实现功能 在本地启动两个程序,在同一局域网的另外一台主机上再启动一个程序,其中本地的一个程序作为发送端,其余两个程序作为接收端,接收端的端口号都设为8001。 1.现在将接收端加入分组,开始接收,发送端发送信息给接收程序。本地的发送程序本地的接收程序非本地的接收程序 从上面的截图可知,两个接收程序都成功接收信息,且发现发送来的发送端的端口号却不同。 2.现在将接收端加入不同的分组,并开始接收。非本地的接收程序本地的接收程序 现在开始向组“”发送信息。 接收情况如下。组“”的接收情况组“”的接收情况 3.在接收端处于不同分组的情况下,发送端采用“广播”发送。采用“广播”发送 接收情况如下。组“”接收到信息组“”接收到信息 由此可以看出广播和组播的区别。广播消息将同时向网上的一切进程转发,不论这个进程是独立进程还是某个组播组中的进程,都能畅通无阻地接收到广播消息。另外,仔细观察还能发现,无论是广播还是组播,消息都是匿名发送的。实验数据 ;using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.Net;using System.Net.Sockets;using System.Threading;namespace UDP广播和组播{ public partial class frmUdpBroadcast : Form { private UdpClient sendUdpClient; private UdpClient receiveUdpClient; IPEndPoint broadcastIPEndPoint; public frmUdpBroadcast() { InitializeComponent(); IPAddress[] ips = Dns.GetHostAddresses(Dns.GetHostName()); tbxlocalip.Text = ips[6].ToString(); int port = 8001; tbxlocalport.Text = port.ToString(); tbxGroupIp.Text = ;//默认组 tbxSndtoGroupIp.Text = ; } //设置加入组 priva

文档评论(0)

2017ll + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档