2011-08-04 14 views
0

Webクライアントにサービスを提供するためのソケットプログラミングを作成できますか? サーブレットを使ってやったことがありますが、java.net APIを使ってやりたいと思います。 ウェブブラウザのアドレスバーにURLを記述するだけでアクセスできるように、サンプルプログラムのコードを教えてください。javaソケットプログラミング

+3

"*プログラムのサンプルコードを教えてください*" ...うーん、いいえ?これまで何をしていますか? – mre

+0

宿題ですか?他の人が言ったように、なぜホイールを再発明するのか。 – Cygnusx1

答えて

2

jettyのソースを見ることをお勧めします。それは私が考えることができる最も簡単なWebサーバーです。あなたは超基本的なWebサーバーが必要な場合は、プレーンソケットでこれを行うことができますが、HTTPプロトコルは非常に複雑で、すべての詳細を処理するためにWebサーバーライブラリを使用するのが最良の方法です。

+0

Peter、これを調べてください:http://www.ibm.com/developerworks/library/j-nioserver/ – alphazero

+0

概念は比較的単純ですが、HTTPには多くの細部があります。すでに利用可能です。少なくとも、既存の実装が何をしているかを理解して理解する必要があります。 AFAIK、すべてのWebサーバーライブラリは現在NIOをサポートしています。 (リンクは7歳です) –

0

"ウェブクライアント"は単なるブラウザであるため、TCP/IPに直接アクセスすることはできません。 いくつかのオプション:

  1. HTML5 WebSocketを(のみ近代的なブラウザ)
  2. フラッシュヘルパー(ジャバスクリプトラッパーがある)
  3. Javaアプレットヘルパー(ジャバスクリプトラッパーがある)
  4. をプールアヤックスに基づいていくつかのトリック
1

リクエストをウェブブラウザに入力できるようにするには、いくつかのことをする必要があります。ポート80 -receive /パース/プロセスをリッスンする

-Setソケットは、HTMLは、ソケット

間でHTMLレスポンス-return を要求したのではなく、あなたのためのコードを記述し、ここにいくつかの擬似コード

です
//setup socket on port 80 
socket.lisen(); 
while(true) 
{ 
    newsocket = socket.accept(); 
    new thread(process(newsocket)); 
} 

最も複雑な部分は、HTMLを処理し、要求を処理し、応答を生成することです。その後、ソケットに戻してください。

このようなことについて、いくつのライブラリがあるのか​​を考えてみると、最初から書き込むことをお勧めしません。

関連する問題