第04章节UDP应用编程.ppt
文本预览下载声明
第4章 UDP应用编程
4.1 UDP基础知识
4.2 UDP应用编程技术
4.3 利用UDP协议进行广播和组播
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile .
Copyright 2004-2011 Aspose Pty Ltd.
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没有消息边界。
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile .
Copyright 2004-2011 Aspose Pty Ltd.
4.1 UDP基础知识
缺点
(1) UDP缺乏双方的握手信号,因此发送方无法了解数据报是否已经到达目标主机。如果在从发送方到接收方的传递过程中出现了数据包丢失,协议本身并不能做出任何检测或提示,因此可靠性不如TCP。
(2) UDP没有任何对双方会话的支持,当接收多个数据报时,不能保证各数据包到达的顺序与发出的顺序相同。当然,UDP的这种乱序性基本上很少出现,通常只会在网络非常拥挤的情况下才可能发生。
UDP与TCP的共同点
都是构建于底层IP之上的传输层协议
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile .
Copyright 2004-2011 Aspose Pty Ltd.
4.1 UDP基础知识
UDP
TCP
连接
无连接
面向连接
速度
无需建立连接,速度较快
需要建立连接,速度较慢
目的主机
一对一,一对多
仅能一对一
带宽
UDP报头较短,消耗带宽更少
消耗更多的带宽
消息边界
有
无
可靠性
低
高
顺序
无序
有序
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile .
Copyright 2004-2011 Aspose Pty Ltd.
4.2 UDP应用编程技术
4.2.1 UdpClient类
4.2.2 发送和接收数据的方法
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile .
Copyright 2004-2011 Aspose Pty Ltd.
4.2.1 UdpClient类
UdpClient类提供了发送和接收无连接的UDP数据报的方便的方法。封装了底层的套接字,并分别提供了对套接字进一步封装后的同步和异步操作的方法,降低了UDP应用编程的难度。
与TCP协议有TcpListener类和TcpClient类不同,UDP协议只有UdpClient类,这是因为UDP协议是无连接的协议,所以只需要一种Socket。
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile .
Copyright 2004-2011 Aspose Pty Ltd.
4.2.1 UdpClient类(续)
位于System.Net.Sockets命名空间下
构造函数有四种重载形式(见教材P94)。编写客户端程序时,常用形式为:UdpClient UdpClient=new UdpClient(“”, 51888) 它相当于:UdpClient udpClient=new UdpClient();udpClient.Connect(, 51888);
思考:UDP的Connect和TCP的Connect有什么不同?
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile .
Copyright 2004-2011 Aspose Pty Ltd.
4.2.1 UdpClient类(续)
Send()
发送数据报
显示全部