-1

Javaを使用してTCPソケットプログラミングを学ぶための良い出発点は何でしょうか。

私はJavaソフトウェアプログラミングの経験はかなりありますが、netwrk/socketプログラミングは初めてです。

私はプロキシキャッシュサーバーの開発に取り組んでいます。ただし、投稿リクエスト/302/405リクエストを読み取ることはできません。私はこれを以下のコードで参照しました。

http://blog.edendekker.me/a-java-proxy-server-with-caching-and-validation/

ただし、コードを変更して、302 MovedPermanentlyErrorまたは405MethodNotvalidErrorを返すwww.gmail.comなどのURLを読み取ることはできません。また、POSTリクエストを読み取ることができません。

エラーの処理とPOST要求の処理について読むことができる出発点は何でしょうか。参照リンク、サンプルコードが役立ちます。

同様のトピックでの私の前の質問:

POSTリクエストを処理し、クライアントソケットにレスポンスを書き込みます

ありがとう

4

1 に答える 1

1

あなたの問題は、TCP自体よりもHTTPに関連しているようです。HTTP プロトコルを学習するためにプロキシ サーバーを実装しますか? そうでない場合は、無料で入手できるいくつかの優れたプロキシがあり、多くの場合、ソース コードが含まれています。TCP ソケット プログラミングだけを学びたい場合は、POP3 などの簡単なものを試してください。また、Java で TCP を実行する場合は、主に 2 つの実装方法があることに注意してください。

  • 接続ごとに 1 つのスレッド
  • アプリケーションごとに 1 つのスレッド、接続間で共有 ( Java NIOおよび NIO2)

HTTP プロキシに本当に取り組みたいと仮定します。キャッシングや認証など、ブラウザが使用するすべての機能に加えて、プロキシを実装するときに発生する追加の複雑さを実装したい場合、HTTP は簡単ではありません。

本当にやりたい場合は、 HTTP プロトコルのより軽量なバージョンを次に示します。詳細については、 RFC 2616を参照してください。ただし、HTTP 1.1 仕様である RFC 2616 は、認証などの特定の領域についても参照する必要がある他の RFC を参照していることに注意してください。

更新: 場合によっては、 HTTP プロキシを使用してブラウザと市販のプロキシ間の通信を盗聴し、他の人が何をしているかをすばやく確認する方が簡単な場合があります。

于 2012-10-29T05:27:02.303 に答える