UDP本地套接字可靠性

时间:2012-04-26 07:04:29

标签: sockets udp

据我所知,UDP是一种不可靠的协议。在我正在工作的项目之一中,本地UDP套接字被建议作为两个进程之间的IPC的意思。本地UDP完全可靠吗?我想象它只是想确认一下。

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

谢谢,

2 个答案:

答案 0 :(得分:3)

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

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

unix domain sockets vs. internet sockets

答案 1 :(得分:0)

无法保证。毕竟它是UDP。某人的实现可能只是忽略您发送的每个第二个数据包,无论是本地还是远程,仍然是有效的实现。

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

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

相关问题