2011-12-03 16 views
0

Windows 7でVisual Studio Expressを使用していて、C++でTCPプロキシサーバーを作成しようとしています。今はサーバーがありますが、Internet Explorerのプロキシ設定を使用すると、バイトの送受信のみが行われます。自分の画面にデータを書き込むことはできません。C++ Winsockを使用してソケットからの書き込み/読み取り

これはCでread()write()で実現できますが、WindowsではC++ではうまくいかないと思います。代わりがありますか?

また、誰でも私にプロキシサーバーの実装方法に関するガイドラインを教えてもらえますか?私は本当に情報、チュートリアル、提案、または何かに役立つ何かを感謝します。私はソケットプログラミングにはまったく新しいので、ネット上のC++プロキシサーバについてはあまり気にならないようです。

は、基本的には、プロキシサーバーにこれを変換することトリング:http://msdn.microsoft.com/en-us/library/ms737593(v=VS.85).aspx

感謝を事前に!

+0

プロキシサーバーを作成し、ソケットで待機するサーバーを作成することは、2つの異なる点です。上記のリンクは前者のリンクであり、後者のリンクではありません。私はboost :: asio(http://www.boost.org/doc/libs/1_48_0/doc/html/boost_asio.html)を学ぶことをお勧めします。 –

答えて

2

プロキシサーバーは、インバウンドクライアント接続を受け入れ、別のサーバーへのアウトバウンドクライアント接続を行い、次に2つの接続間でデータをやりとりするリスニングサーバーです。既にMSDNのサーバーの例を見て、今度はclient exampleを調べてみてください。理解したら、RFC 2616(HTTPの仕組みを説明しています)とWeb Proxy Tunneling(HTTP CONNECTコマンドの仕組みを説明しています)を調べてください。 Internet Explorerは、プロキシと通信するときにCONNECTを使用します。

+0

は、プロキシの種類、httpプロキシの種類、ソックス番号に依存します。ソックスプロトコルを使用します。 – johnathon

+0

良いアドバイスのために+1 – johnathon

+0

SOCKSプロキシは、HTTPプロキシより少し実装が簡単です。 SOCKS v4(http://www.ietf.org/rfc/rfc1928.txt)のSOCKS v4(http://ftp.icm.edu.pl/packages/socks/socks4/SOCKS4.protocol)およびRFC 1928を参照してください。 –

関連する問題