2

ブーストのasioソケットを使用して相互に通信するためのクライアント/サーバーのセットアップがあります。プロトコルは簡単で、次のデータの長さを示す 64 ビット値で始まり、残りは JSON として渡されます。

問題は、クライアントとサーバー間のプロキシがサポートされていないことです。これをサポートする必要があります。

私がオンラインで読んだように、プロキシは一般的に非常に単純なようです。HTTP プロキシの場合、プロキシに接続して、必要な実際の URL の CONNECT 要求を送信すると、プロキシは単に物事を渡します。

しかし、それを HTTP 以外のデータと調整する方法がわかりません。

  1. プロキシ サーバーで動作するように「プロトコル」を変更する必要がありますか? 私はこれが提案されているのを見ます:

    CONNECT http://my.server.com:80 HTTP/1.0\r\n\r\n

    しかし、私の非プロトコルをどうするのですか?

  2. HTTPを使用していることを伝えてから、次にJSONデータを送信しようとしましたが、一連の問題に遭遇し、問題が私の実装だけなのか、それとも私が何をしているのかわからなくなりました.やろうとしてもうまくいきません。

  3. もし私がここで完全に基地から外れているなら、私はまっすぐになりたいです.

4

1 に答える 1

0

ここでは、HTTP プロキシにピギーバックすることが正しい解決策ではないと思います。今あなたが持っている

Client <---------> Server

しかし、あなたはしたいです

Client <------> proxy <------> Server

プロキシを自分で作成することをお勧めします。サーバーと同じようにデーモンになり、クライアントとサーバーの両方のプロトコルを話す必要があります。プロキシがサーバーのアドレスとサービスを認識できるように、プロトコルを修正する必要があります。同様に、クライアントは、サーバーではなくプロキシに接続するために追加情報を必要とします。

于 2013-02-16T14:57:58.510 に答える