私はUDPを使用して、単純なデータ転送を実現しようとしています。チェックサムに問題があります。データが入っているパケットがある場合、どのようにチェックサムを実装する必要がありますか?また、どのようにタイムアウトを実装して再送信をトリガーするか考えていますか?信頼性の高いUDPを試していないのはなぜおかげUDP信頼性の高いデータサービス実装
答えて
は、それが標準を持っているhttp://en.wikipedia.org/wiki/Reliable_User_Datagram_Protocol
を参照してください。
UDPデータ転送でパケットのチェックサムをチェックする必要があります。私はUDP環境で作業しています。これは、私のアプリケーションがより速く動作するからです。 – user1077036
OK、R-UDPは実際の標準仕様ではありません。チェックサムを追加できます。受信パケットの確認、ウィンドウとフロー制御、失われたパケットの再送信、オーバーバッファリング? – Daniel
はい私はそれらを気にしますが、私はすでにそれを扱うことができます。私は私のシステムに埋め込むことができるチェックサムアルゴリズムが必要です。 – user1077036
here's one approach for the internet checksum
unsigned short checkSum() {
unsigned long sum = 0;
int i;
for(i=0; i < your packet length ; i++) {
sum += (your packet data[i] & 0xFFFF);
}
while (sum >> 16) {
sum = (sum & 0xFFFF) + (sum >> 16);
}
sum = ~sum;
return ((unsigned short) sum);
}
for the retransmission, you can set alarm to trigger timeout
when packet is loss. you can do something using
signal (SIGALRM, timeout function);
Hope it helps!
- 1. 信頼性の高い定期アクタの実装方法
- 2. UDPローカルソケットの信頼性
- 3. HTTPの信頼性を実装
- 4. Redisの信頼性の高いキューパターン
- 5. サービスファブリック信頼性の高いコレクションパフォーマンス
- 6. 信頼性の高い方法は、[]
- 7. サービスファブリック信頼性の高いコレクション容量
- 8. 高性能で信頼性の高いデータベース
- 9. PubSub +信頼性のない現在のユーザへの信頼性の高いメッセージ配信
- 10. シンプルで高速で信頼性の高いデータベース(NoSQL)
- 11. サービスファブリックの信頼性の高いコレクションと不変性
- 12. iOS VOIPプッシュ通知の信頼性の高い配信
- 13. サービスファブリックWCF通信による信頼性の高いサービス
- 14. ステートフルサービスの信頼性の高いコレクションの読み取り操作
- 15. サービスファブリックのキャッシュとしての信頼性の高いコレクションキャッシング
- 16. Grailsのjsリソースの信頼性の高いリフレッシュ - dev env
- 17. UDP上の信頼できるトランスポートプロトコル
- 18. 壊れた言葉の信頼性の高い修正
- 19. どのように信頼性の高いMicrosoft.Expression.Encoder.MediaItemですか?
- 20. WPFコード化UIテスト:デスクトップアイコンの信頼性の高い検索
- 21. node.jsのTCPによる信頼性の高いメッセージング
- 22. 信頼性の高い列数<tr>の
- 23. MQTT Paho Pythonの信頼性の高い再接続
- 24. Androidオフラインの信頼性の高い期間期間
- 25. ライブオーディオストリーミング用の信頼性の高いスケーラブルなソリューションですか?
- 26. Java 9での信頼性の高い設定
- 27. .NET Frameworkのサービスファブリック信頼性の高いサービス
- 28. Windowsタスクスケジューラより信頼性の高い代替手段
- 29. はHTTP部分的な信頼性の高いメカニズムですか?
あなたはこれまでに何をしましたか?なぜこのコンテキストでUDP over TCPを選択したのですか? – nebula