私は、ネットワーク上でデータを送受信する必要のあるアプリケーション(クライアント側とサーバー側の両方)を構築しています。メッセージは短く、おそらくほとんどがバイナリです。公共のネットワークでも接続が安全である必要があります。シンプルで安全で軽量なネットワークプロトコルを選択する
私は、プロトコルがすべてのセッション管理オーバーヘッド(ハンドシェイク、ドロップされたパケットの処理、ACK応答の返送など)を処理するなら、私は大好きです。 Windows、Linux、OS X(.netフレームワークと* NIXカーネル)で自然にサポートされているのであれば、それはいいかもしれません。
これまでのところ、私はいくつかのオプションと考えられてきました:
- HTTPSは - オーバーヘッドを除いて、上記のすべてのために良いサポートしています。メッセージが短い場合は、すべてのHTTPヘッダーが冗長になります。ネイティブにサポートされています。
- IPSEC - ネイティブでサポートされていますが、セッションを自分で処理する必要があります。
- HTTPS経由のGoogleのプロトコルバッファ - 現在のところ最適なオプションですが、実装には多少の労力が必要です。
私はネットワークプログラミングの世界には新しいので、アドバイスやヒントをいただければ幸いです。
SSL経由でのインストールを忘れないでください。 –