P4 基于UDP协议的程序设计.ppt

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

计算机网络编程技术 第4章 基于UDP协议的程序设计 引子----UDP协议的应用领域? 实时传输:网络视频会议? IP电话:VOIP? 网络信息分发:股票信息、航空信息 部分应用层协议的基础 本章的主要内容 回顾UDP协议的基本特点 学习使用UdpClient类进行单播通信编程 广播通信编程技术 多播通信编程技术 4.1 UDP协议介绍 (2)单播、广播和多播 单播是端对端,能够穿透子网; 广播限于子网内; 多播向多个子网发送信息。 (3) UDP协议的数据格式 4.2 使用UdpClient类进行编程 (1) 回顾典型数据报套接字调用流程 (2) UdpClient类的应用方法 //第一阶段:创建UdpClient实例 UdpClient udpClient=new UdpClient(); IPAddress remoteAddress=IPAddress.parse(); IPEndPoint iep=new IPEndPoint(remoteAddress,8000); //第二阶段:数据发送 byte[] sendBytes=System.Text.Encoding.Unicode.GetBytes(注意休息!); udpClient.Send(sendBytes,sendBytes.Length,remoteAddress); //第二阶段:数据接收 IPEndPoint iep2=new IPEndPoint(IPAddress.Any,0); Byte[] receiveBytes=udpClient.Receive(ref iep2); string getData=System.Text.Encoding.Unicode.GetString(receiveBytes); ... //第三阶段:关闭 udpClient.Close(); (2) UdpClient类的其他3种实例构造方法 方法1: IPAddress remoteAddress=IPAddress.parse(); UdpClient udpClient=new UdpClient(remoteAddress,8000); 方法2: UdpClient udpClient=new UdpClient(); udpClient.Connect(,8000); 方法3,最简单: UdpClient udpClient=new UdpClient(,8000); 此时,由于明确了远程主机上的进程,所以Send方法的调用更为简单: udpClient.Send(tmpBytes,tmpBytes.Length); (3) 应用实例:P91-93 是一个简单的控制台应用程序。 客户机界面 服务器界面 4.3 网络广播程序设计 (1) 广播地址如何描述? 直接广播地址的应用原理 如果有多个进程都发送广播数据,则该子网将会阻塞,影响到网络性能,这是广播方式的缺点。 (2) 广播程序设计:P94-97 为了实现广播通信,需要: 指定广播地址; 在套接字函数setSocketOption()中设置广播选项; 使用recvfrom和sendto等函数收发广播数据; 1) 程序运行界面:P95 发送端: 接收端: 2) 发送广播消息程序 Socket socket=new Socket(AddressFamily.InterNetwork,SocketType.Dgram, ProtocolType.Udp); IPEndPoint iep=new IPEndPoint(IPAddress.Broadcast,8000); //设置Broadcast值为表示允许套接字发送广播信息,该值默认为(不允许) socket.SetSocketOption(SocketOptionLevel.Socket,SocketOptionName.Broadcast,1); //将发送内容转换为字节数组 byte[] sendBytes=System.Text.Encoding.Unicode.GetBytes(this.textBox1.Text); //向子网发送信息 socket.SendTo(sendBytes,iep); socket.Close(); 3) 接收广播消息程序 Socket socket=new Socket(AddressFamily.InterNetwork, SocketType.Dgram,ProtocolType.Udp); IPEndPoint iep=new IPEndPoint(IPAddr

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档