すべてのカテゴリ » インターネット・パソコン » 技術・プログラミング

質問

終了

最近、UDP通信を利用されていますが、これは何かメリットはあるのでしょうか?
TCP通信の方が楽でいいように思います。

  • 質問者:匿名
  • 質問日時:2010-09-01 09:23:09
  • 0

並び替え:

動画配信などはメリットがあるのではないでしょうか?
途中の音や画像が多少届かなくても問題ありませんが(UDP)、
完璧に届くけれどものすごく遅い(TCP)だと不便です。
必要とされるデータの正確性と、リアルタイム性のバランス
を考えての選択だと思います。

  • 回答者:匿名 (質問から4時間後)
  • 0
この回答の満足度
  
とても参考になり、非常に満足しました。回答ありがとうございました。

TCPは信頼性のある双方向の通信プロトコルで、
UDPは信頼性はないながらも軽量で高速なプロトコルです。
信頼性とは、確認応答などにより確実に相手にパケットが届くことを保障するものです。

つまり、一部のパケットが途中で破棄されたりしても大きな問題にならない場合や、
リアルタイム性が重視されるような場合には、
UDPの方が向いているということです。

  • 回答者:匿名 (質問から3時間後)
  • 0
この回答の満足度
  
とても参考になり、非常に満足しました。回答ありがとうございました。

機能としては、TCPの方がはるかに優れています。

UDPが提供する機能が、"化けたデータの破棄"だけなのに対し、TCPは下記の機能を持っています。

データの送信先が存在するかチェックする(UDPは勝手に送信するだけ)
大量データの分割送信
データ化けの修正(UDPは破棄するだけ)
データの順序の保障
データ損失時の再送信(UDPは送信だけして、後は面倒をみない)
相手が受信したか確認

これだけなら、確かにUDPを使う意味はありません。
ですが、UDPは何もしてくれない代わりにデータ量が少なく通信速度が速いことがメリットになっています。

ですから、DNSのように頻繁に利用される場合やネットゲームのようにリアルタイム性を重視したい場合に利用されることが多くなります。

  • 回答者:匿名 (質問から48分後)
  • 0
この回答の満足度
  
とても参考になり、非常に満足しました。回答ありがとうございました。

関連する質問・相談

Sooda!からのお知らせ

一覧を見る