- 1、本文档共32页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 UDP应用编程 4.1 UDP基础知识 4.2 UDP应用编程技术 4.3 利用UDP协议进行广播和组播 4.1 UDP基础知识 UDP(User Datagram Protocol)全称是用户数据报协议。是一个简单的、面向数据报的无连接协议,提供了快速但不一定可靠的传输服务。 与TCP相比,UDP有如下一些特点: 优点 (1)UDP基于无连接的协议,速度比TCP更快。对于强调传输性能而不是传输完整性的应用(例如音频和多媒体应用),UDP是最好的选择; (2)UDP不但支持一对一连接,而且也支持一对多连接,可以使用广播的方式多地址发送,而TCP仅支持一对一的通信; (3)UDP与TCP的报头比是8:20,这使得UDP消耗的网络带宽更少 (4)UDP传输的数据有消息边界,而TCP没有消息边界。 4.1 UDP基础知识 缺点 (1) UDP缺乏双方的握手信号,因此发送方无法了解数据报是否已经到达目标主机。如果在从发送方到接收方的传递过程中出现了数据包丢失,协议本身并不能做出任何检测或提示,因此可靠性不如TCP。 (2) UDP没有任何对双方会话的支持,当接收多个数据报时,不能保证各数据包到达的顺序与发出的顺序相同。当然,UDP的这种乱序性基本上很少出现,通常只会在网络非常拥挤的情况下才可能发生。 UDP与TCP的共同点 都是构建于底层IP之上的传输层协议 4.1 UDP基础知识 4.2 UDP应用编程技术 4.2.1 UdpClient类 4.2.2 发送和接收数据的方法 4.2.1 UdpClient类 UdpClient类提供了发送和接收无连接的UDP数据报的方便的方法。封装了底层的套接字,并分别提供了对套接字进一步封装后的同步和异步操作的方法,降低了UDP应用编程的难度。 与TCP协议有TcpListener类和TcpClient类不同,UDP协议只有UdpClient类,这是因为UDP协议是无连接的协议,所以只需要一种Socket。 4.2.1 UdpClient类(续) 位于System.Net.Sockets命名空间下 构造函数有四种重载形式(见教材P94)。编写客户端程序时,常用形式为:UdpClient UdpClient=new UdpClient(“”, 51888) 它相当于:UdpClient udpClient=new UdpClient();udpClient.Connect(, 51888); 思考:UDP的Connect和TCP的Connect有什么不同? 4.2.1 UdpClient类(续) 4.2.1 UdpClient类(续) 4.2.2 发送和接收数据的方法 编写基于UDP的应用程序时,关键在于如何实现数据的发送和接收。由于UDP不需要建立连接,因此可以在任何时候直接向网络中的任意主机发送UDP数据。在同步阻塞方式下,可以使用UdpClient对象的Send方法和Receive方法。 Send:可直接将数据发送到远程主机,并返回发送数据的长度,Send方法发送数据的类型为byte数组。 Receive:能够在指定的本地IP地址和端口上接收数据,该方法带一个引用类型的IPEndPoint实例,并将接收到的数据作为byte数组返回。 4.2.2 发送和接收数据的方法(续) udpClient.Send (Byte[], Int32) 将UDP数据报发送到远程主机。 Byte[]:指定发送的数据 Int32:发送数据的数据长度 说明: 这种重载形式假定UDP客户端已经通过Connect方法指定了默认的远程主机,或者在实例化UdpClient时已经指定了远程服务器的IP和端口 4.2.2 发送和接收数据的方法(续) UdpClient.Send (Byte[], Int32, IPEndPoint) 将 UDP数据报发送到位于指定远程终结点的主机. Byte[]:待发送到远程主机的数据 Int32: 待发送到远程主机的数据长度 IPEndPoint :远程主机端点,包含了应用程序连接到主机上的服务所需的IP地址和端口信息。 说明:这种重载形式在参数中指定了远程主机的端点,在调用该方法前不需要指定远程主机的信息,如(不需要通过Connect方法指定远程主机端点,不需要在实例化UdpClient时指定远程服务器的IP和端口) 4.2.2 发送和接收数据的方法(续) UdpClient.Send(Byte[],Int32, String, Int32)将UDP数据报发送到指定的远程主机上的指定端口。 Byte[]:待发送到远程主机的数据 Int32:待发送到远程主机的数据长度 String:远程主机名 Int32:
您可能关注的文档
- 初三物理课件.ppt
- 地质灾害应急预案(修订).doc
- 初三物理力学专题.doc
- 初三总复习---方程(组)与不等式(组).doc
- 初一地理_地球和地球仪.ppt
- 第 1 章 各类有机化合物的命名.ppt
- 初一数学《不等式及其解集》课件.ppt
- 第01.1章 微观的方法等.pdf
- 初一数学1.1建立二元一次方程组.ppt
- 第1部分:面向制造和装配的产品设计.pdf
- 甘肃省白银市会宁县第一中学2025届高三3月份第一次模拟考试化学试卷含解析.doc
- 2025届吉林市第一中学高考考前模拟生物试题含解析.doc
- 四川省三台县芦溪中学2025届高三下第一次测试生物试题含解析.doc
- 2025届江苏省启东市吕四中学高三适应性调研考试历史试题含解析.doc
- 浙江省宁波市十校2025届高三二诊模拟考试历史试卷含解析.doc
- 甘肃省甘南2025届高考生物必刷试卷含解析.doc
- 河北省石家庄市一中、唐山一中等“五个一”名校2025届高考历史四模试卷含解析.doc
- 江西省南昌市进贤一中2025届高考生物考前最后一卷预测卷含解析.doc
- 甘肃省白银市会宁县第四中学2025届高三第二次模拟考试历史试卷含解析.doc
- 宁夏银川市宁夏大学附属中学2025届高考化学押题试卷含解析.doc
最近下载
- 话剧小品《一九四二》台词剧本完整版.docx
- 一种ZIF-90负载可切换超润湿性的聚丙烯腈膜及其制备方法和应用.pdf VIP
- EN 14363-2016+A1-2018铁路设施 — 铁路车辆运行特性的验收试验和模拟 — 运行性能试验和稳定性试验(中文版).doc
- 07并网逆变器现场检查测试记录表.doc
- (外科学课件)27-胆道疾病.ppt
- 对外汉语综合课课堂导入考察和分析_吴丽君.pdf
- DB32_T 3289-2017菊芋贮藏保鲜技术规程.docx
- 口腔颌面外科学口腔颌面外科检查及门诊病历书写【66页】.pptx
- 赵亚初三数学学法指导课件精典课件.ppt
- 论国际汉语课堂导入设计——与新手教师谈课堂教学设计.pdf VIP
文档评论(0)