实例-UDP.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实例-UDP

UDP协议基础知识 UDP是一个简单的、面向数据报的无连接协议,提供了快速但不一定可靠的传输服务。与TCP一样,UDP也是构建于底层IP协议之上的传输层协议。所谓“无连接”是在正式通信前不必与对方先建立连接,不管对方状态如何就直接发送过去。这与发手机短信非常相似,只要输入对方的手机号码就可以了,不用考虑对方手机处于什么状态。 利用UDP协议可以使用广播的方式同时向子网上的所有设备发送信息,也可以使用组播的方式同时向网络上的多个设备发送信息。比如可以使用UDP协议向某网络发送广告,也可以使用UDP协议向指定的客户发送订阅的新闻或通知。 与TCP相比,UDP有如下一些特点:首先,UDP协议是基于无连接的协议,它能够消除生成连接的系统延迟,所以速度比TCP更快。对于强调传输性能而不是传输完整性的应用(例如音频和多媒体应用),UDP是最好的选择;其次,UDP不但支持一对一连接,而且也支持一对多连接,可以使用广播的方式多地址发送,而TCP仅支持一对一的通信;第三,UDP与TCP的报头比是8:20,这使得UDP消耗的网络带宽更少。最后,UDP协议传输的数据有消息边界,而TCP协议没有消息边界。 由于UDP是一种无连接的协议,缺乏双方的握手信号,因此发送方无法了解数据报是否已经到达目标主机。如果在从发送方到接收方的传递过程中出现了数据报的丢失,协议本身并不能做出任何检测或提示,因此可靠性不如TCP。 UDP没有任何对双方会话的支持,当接收多个数据报时,不能保证各数据包到达的顺序与发出的顺序相同。当然,UDP协议的这种乱序性基本上很少出现,通常只会在网络非常拥挤的情况下才可能发生。 UdpClient类 System.Net.Sockets名称空间下的UdpClient类简化了UDP套接字编程。与TCP协议有TcpListener类和TcpClient类不同,UDP协议只有UdpClient类,这是因为UDP协议是无连接的协议,所以只需要一种Socket。该类提供了发送和接收无连接的UDP数据报的方便的方法。其建立默认远程主机的方式有两种:一是使用远程主机名和端口号作为参数创建UdpClient类的实例;另一种是先创建不带参数的UdpClient类的实例,然后调用Connect方法指定默认远程主机。 1.UdpClient的构造函数 UdpClient类提供了以下几种常用格式的构造函数: 1) UdpClient() 创建一个新的UdpClient对象,并自动分配合适的本地IPv4地址和端口号。例如: UdpClient udpClient = new UdpClient(); //指定默认远程主机和端口号 udpClient.Connect(, 51666); Byte[] sendBytes = System.Text.Encoding.Unicode.GetBytes(你好!); //发送给默认远程主机 udpClient.Send(sendBytes, sendBytes.Length); 2) UdpClient(int port) 创建一个与指定的端口绑定的新UdpClient实例,例如: UdpClient udpClient = new UdpClient(); 3) UdpClient(IPEndPoint localEp) 创建一个新UdpClient实例,该实例与包含本地IP地址和端口号的IPEndPoint实例绑定。例如: IPAddress adress = IPAddress. Parse(); IPEndPoint iep = new IPEndPoint(address, 51666); UdpClient udpClient =new UdpClient(iep); 4) UdpClient(string remoteHost,int port) 创建一个新UdpClient实例,本地IP地址和端口号,并将它与指定的远程主机和端口号联合。例如: UdpClient udpClient =new UdpClient(,8080); Connect方法。调用Send方法,该方法返回数据的长度用于检查数据是否已被正确发送。 Send方法有几种不同的重载形式,取决于以下两点:UdpClient是如何连接到远程端口的,UdpClient实例是如何创建的。如果在调用Send方法以前没有指定任何信息,则需要在调用中包括该信息。 Send(byte[] data, int length, IPEndPoint iep) 这种重载形式有三个参数:数据、数据长度、远程IPEndPo

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档