これはjavaのサーバーサイドコードで、ポート1880でリッスンし、http:// localhost内のhttp:// client.javaコードから接続要求を拒否しました。エラーが発生しました。このサーバーコードをWebページからコピーしました。コードが実行されています。Javaのサーバーでクライアントの応答をリスンして生成する方法は?
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import com.sun.net.httpserver.HttpServer;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;
public class ServerHandlingHttpRequest {
public void start() throws IOException
{
InetSocketAddress addr=new InetSocketAddress(1880);
System.out.println(addr.getPort());
System.out.println(addr.getAddress());
System.out.println(addr.getHostName());
System.out.println(addr.toString());
HttpServer server=HttpServer.create(addr,0);
server.createContext("/", new MyHandler());
server.setExecutor(null);
server.start();
System.out.println("Server Listening");
System.out.println(server.getAddress());
server.stop(60);
}
class MyHandler implements HttpHandler {
public void handle(HttpExchange t) throws IOException {
System.out.println("Request Arrived");
String response = "This is the response";
t.sendResponseHeaders(200, response.length());
OutputStream os = t.getResponseBody();
os.write(response.getBytes());
os.close();
}
}
public static void main(String[] args) throws IOException
{
ServerHandlingHttpRequest w=new ServerHandlingHttpRequest();
w.start();
}
}
これで何をしようとしていますか? – aksappy
ポート1880でクライアント要求を聞き、その要求に対する応答を生成したい。 – Badman
http://www.java2s.com/Tutorial/Java/0320__Network/LightweightHTTPServer.htmこれは、サーバー側のコードをコピーして変更した場所のリンクです。 – Badman