java - 基于连接的通信和基于数据报的通信

标签 java sockets networking

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

虽然我已经经历了this我不清楚。

最佳答案

基于连接的协议(protocol)(例如 TCP)为您提供可靠性和订购保证。他们通过与收件人的确认安排让您知道您发送的数据包是否确实到达目的地。如果序列中的任何数据包未通过,则可以要求发送者重新发送丢失的数据包。

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

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

关于java - 基于连接的通信和基于数据报的通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5534556/

相关文章:

java - 不知道如何迭代 <forEach> 中提供的 "items"

java - 处理程序真正将其消息发布到哪里?

Java:公共(public)静态 newInstance()

unix - 套接字编程中的绑定(bind)调用混淆

sockets - 使用 os.OpenFile() 而不是 net.Listen()

linux - Vagrant中的Kafka集群(ZK、BR、BR、BR)无法建立连接

java - 在我的例子中谁使用了 NgFor?

php - 将 8 个字节转换为有符号长整数(64 位)

networking - 需要IP地址

sockets - java.net.ConnectException : Connection refused: connect 异常