- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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();
您可能关注的文档
- cloud_computing讲述.pptx
- 第12章 法兰容器零部件2014-6-11综述.ppt
- cmd和dos命令大全讲述.doc
- ch3-1自动控制的一般概念讲述.pptx
- CMG2013新功能讲述.doc
- CMK,CPK区别讲述.doc
- CMA计量认证申请书填写范本讲述.doc
- CMOS边沿D触发器讲述.doc
- CLN600MW汽轮机检修规程(专业版)讲述.doc
- CloudStack3.0TechnicalPresentation_v6-CN-New讲述.pptx
- 2025北京政法职业学院招聘7人考前自测高频考点模拟试题及参考答案详解.docx
- 2025四川九州光电子技术有限公司招聘法务审计部副部长考前自测高频考点模拟试题及完整答案详解1套.docx
- 2025中国建筑一局(集团)有限公司政策研究岗招聘1人考前自测高频考点模拟试题参考答案详解.docx
- 2025“粤聚英才粤见未来”广东云浮市中医院人才招聘28人模拟试卷及答案详解1套.docx
- 2025四川泸州发展控股集团有限公司及旗下企业春季招聘45人考前自测高频考点模拟试题带答案详解.docx
- 2025四川九洲电器集团有限责任公司招聘试验工程师考前自测高频考点模拟试题带答案详解.docx
- 2025内蒙古巴彦淖尔市能源(集团)有限公司招聘48人考前自测高频考点模拟试题及参考答案详解.docx
- 2025光明乳业股份有限公司郑州招聘(河南)考前自测高频考点模拟试题及参考答案详解一套.docx
- 2025云南省消防救援总队训练与战勤保障支队招聘(5人)考前自测高频考点模拟试题附答案详解.docx
- 2025中央和国家机关工委所属事业单位招聘7人考前自测高频考点模拟试题附答案详解.docx
文档评论(0)