これに答えた他の人たちには従いません。彼らは皆、あなたを TCP に向かわせているようです。ログイン/チャット情報を除いて、それはゲーム用ではありません。順番に行きましょう:
ソケット内の不良データについて心配する必要はありますか?
はい。UDP にはルーターなどの非常に単純なチェックサムが含まれていますが、100% 効率的ではありません。独自のチェックサム デバイスを追加できますが、ほとんどの場合、信頼性が問題にならない場合に UDP が使用されるため、準拠していないデータは削除する必要があります。
200 バイトを送信すると、120 バイトと 60 バイトが別々に取得される可能性があると想定する必要がありますか?
いいえ、UDP は直接データの書き込みと読み取りを行います。ただし、データが大きすぎると、ルーターによっては切り捨てられ、データの一部が完全に失われます。一部の人は、ヘッダーで約 576 バイトと言っていましたが、個人的には 256 バイトを超えて使用することはありません (ナイス ラウンド log2 数値)。
同じポートで別の接続が不正なデータを送信することを心配する必要がありますか?
UDP はポート上の任意のコンピュータからの任意のデータをリッスンするため、この意味ではイエスです。また、UDP はプリミティブであり、生の形式を使用して送信者を偽造できることにも注意してください。そのため、リスナーが IP に対して送信者を検証するには、ある種の「キー」を使用する必要があります。
通常、データが届かない場合、(通常) どれくらいの時間 (250 ミリ秒? 1 秒? 1.75 秒?) データが表示されない可能性がありますか?
UDP で送信されるデータは通常使い捨てであるため、データを受信しない場合は簡単に無視できます...ただし、「半信頼性」が必要な場合もありますが、TCP が使用するような「順序付けされた信頼性」は必要ありません。 1 秒は、ドロップの適切な見積もりです。ローテーションでパケットに番号を付け、独自の ACK 通信を作成できます。パケットが受信されると、番号が記録され、受信したパケットを送信者に知らせるビットフィールドが返されます。詳細については、この未完成のドキュメントを読むことができます (未完成ですが、それでも有効な情報が得られます)。
http://gafferongames.com/networking-for-game-programmers/