2012-04-26 13 views
0

私が理解するように、UDPは信頼性の低いプロトコルです。私がプロジェクトを進めているうちの1つでは、ローカルUDPソケットは、2つのプロセス間のIPCの平均として提案されています。ローカルUDPは完全に信頼性がありますか?私はそれがあると思うだろうが、ただ確認したい。UDPローカルソケットの信頼性

もしそうなら、ローカルUDPとドメインソケットの違いは何ですか?

ありがとう、

+1

http://stackoverflow.com/questions/2128701/is-sending-data-via-udp-sockets-on-the-same-machine-reliable – cnicutar

答えて

0

保証はありません。結局UDPです。誰かの実装では、送信した2回目のローカルパケットまたはリモートパケットは無視され、依然として有効な実装になります。

現実には、あなたと他のプロセスとの間に何らかのレベルのOSのやりとりがあります。何らかの理由で失敗する可能性があります。

名前付きパイプなどが適しています。または、信頼できるソケットが必要な場合は、TCP。

3

UDPは、いかなる状況下でも信頼できません。たとえば、受信者が到着したときに受信者がすぐにメッセージを読み取っていない場合、その受信バッファがオーバーフローし、すべての追加メッセージが破棄されます。

UDPとドメインソケットの違いは、ドメインソケットが実質的に2つのソケットと通信することです。一方、UDPは2つのソケット間にIPスタックの2つのインスタンスを固定します。ここではかなり良い説明は次のとおりです。

unix domain sockets vs. internet sockets

関連する問題