【问题标题】:UDP local socket reliabiltiyUDP 本地套接字可靠性
【发布时间】:2012-05-06 21:44:05
【问题描述】:

据我了解,UDP 是一种不可靠的协议。在我正在工作的一个项目中,建议将本地 UDP 套接字作为两个进程之间的 IPC 的平均值。本地 UDP 是否完全可靠?我想是的,但只是想确认一下。

如果是,本地UDP和域套接字有什么区别?

谢谢,

【问题讨论】:

标签: sockets udp


【解决方案1】:

UDP 在任何情况下都不可靠。例如,如果接收方没有像消息到达一样快地读取消息,那么它的接收缓冲区将会溢出,所有额外的消息都将被丢弃。

UDP 和域套接字之间的区别在于,域套接字实际上只是两个套接字与另一个套接字通信,而 UDP 将 IP 堆栈的两个实例粘贴在两个套接字之间。这是一个很好的描述:

unix domain sockets vs. internet sockets

【讨论】:

    【解决方案2】:

    没有保证。毕竟是UDP。某人的实现可能会忽略您发送的每一秒数据包,无论是本地的还是远程的,但仍然是有效的实现。

    实际上,您与其他进程之间存在多个级别的操作系统交互,其中任何一个都可能因任何原因而失败。

    命名管道或类似的可能是更好的选择。或者,如果您需要可靠的套接字,TCP。

    【讨论】:

      猜你喜欢
      • 2011-03-03
      • 1970-01-01
      • 1970-01-01
      • 2017-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-23
      相关资源
      最近更新 更多