2

私の会社には100台以上の車両があります。また、各車両には Windows Mobile デバイスがあり、3G 経由でインターネットに接続されています。

私の仕事は、これらの車両とリアルタイムで通信できるアプリケーションを作成することです。サーバー側とクライアント側。

これが私が世話をしなければならないリストです。

  • 最小帯域幅の使用。(ソケット? TCP または UDP ???)
  • 移動中に接続が失われます。メッセージは正常に配信される必要があります。

これらの要件に適したプロトコルまたはサーバー アプリケーションはありますか?

よろしく

バロ

4

2 に答える 2

3

HTTP を使用するだけで、HTTP ヘッダーからのオーバーヘッドが帯域幅バンクを壊すことはありません。

クライアントはサーバーに最新のメッセージをポーリングするだけです。最新のメッセージに、クライアントが記録している最後のメッセージとの ID の差が 1 より大きい場合、クライアントは、欠落している特定のメッセージ ID を直接要求できます (切断されたクライアント接続などから欠落している可能性があります)。汎用 HTTP ハンドラー (ashx) または Web サービス (asmx) だけで十分です。

于 2012-10-25T15:52:11.237 に答える
0

このタイプの通信シナリオでは、ソケット通信が最適です。なんで ?

1)。生バイトを使用して発生します。

2)。接続された通信と接続のない通信を持つオプションがあります

3)。.NET には、ソケット通信を実装するための豊富な API があります。

4)。Rx や TPL (async await) と組み合わせて使用​​すると、はるかに優れた方法で処理できます。

最小帯域幅の使用: TCP は接続 (一種の) 通信ソケット タイプであり、内部チェックサムも備えているため、TCP は UDP よりも多くのヘッダー バイトを実際のメッセージに追加します。3G で帯域幅を節約するには、UDP が最適です。

接続性とメッセージ配信の保証された確認について: どのアプローチを採用するかは、あなたまたはあなたの会社次第です。

TCP の利点: 接続された通信であるため、接続が失われるとすぐに、両方の側が切断を認識し、再度接続できるようになり、メッセージ配信の信頼性が向上します。

UDP の利点: 送信および忘却プロトコルであるため、信頼性や接続自体を保証することはできませんが、UDP を使用する場合、送信されるバイトはコストがかかるため、適切なオプションであり、ある種のメッセージ プロトコルを使用してエンド ツー エンドを実装します。通信 - 応答メカニズムによる要求/確認。したがって、接続とメッセージの送受信確認は手動で行うことができます。

于 2012-10-25T16:02:54.927 に答える