Java 基于连接的通信和基于数据报的通信

Java 基于连接的通信和基于数据报的通信,java,sockets,networking,Java,Sockets,Networking,基于连接的通信与基于数据报的通信有什么区别? 虽然我已经讲过了,但我不清楚。基于连接的协议(如TCP)为您提供了可靠性和订购保证。它们会让您知道您发送的数据包是否通过与收件人的确认协议实际到达了目的地。如果序列中的任何数据包都无法通过,发送方可以被要求重新发送丢失的数据包 无连接、基于数据报的协议(如UDP)不能保证可靠性或顺序,但由于协议中“要做的事情更少”,因此可以更快。另一个主要区别是,基于数据报的协议通常支持数据包广播,其中多个接收者获得相同的数据。对于像TCP这样的东西,这是不可能的,

基于连接的通信与基于数据报的通信有什么区别?


虽然我已经讲过了,但我不清楚。

基于连接的协议(如TCP)为您提供了可靠性和订购保证。它们会让您知道您发送的数据包是否通过与收件人的确认协议实际到达了目的地。如果序列中的任何数据包都无法通过,发送方可以被要求重新发送丢失的数据包

无连接、基于数据报的协议(如UDP)不能保证可靠性或顺序,但由于协议中“要做的事情更少”,因此可以更快。另一个主要区别是,基于数据报的协议通常支持数据包广播,其中多个接收者获得相同的数据。对于像TCP这样的东西,这是不可能的,因为它本质上是点对点的


和上的维基百科页面是了解更多细节的很好的来源。

我同意所有这些。连接协议中没有固有的可靠性和顺序。可靠的UDP和不可靠的连接协议都是可能的。基于连接的协议为您提供的是一种点对点连接,具有约定的开始和通知的结束。如果我在第一句中的“给您提供可靠性和顺序”之前添加了“can”,那么我们将说同样的话。我使用TCP作为最明显和最常见的例子。但是是的,你上面说的是准确的。在最基本的层次上,基于连接的协议只提供简单的点对点会话。