Я выполняю этот сценарий на компьютере A. И я могу получить доступ к этому серверу с той же машины, что и машина A. Но не могу получить доступ / не получил никакого ответа с машиной B, которая подключена к той же сети.Я упомянул мой код ниже,
public class BasicHttpServerExample2 {
public static void main(String[] args) throws IOException {
int port = 88;
InetSocketAddress socket = new InetSocketAddress("192.168.0.37", port);
HttpServer server = HttpServer.create();
server.bind(socket, port);
System.out.println("server started at " + port);
HttpContext rootContext = server.createContext("/");
HttpContext context = server.createContext("/print");
rootContext.setHandler(BasicHttpServerExample2::RootHandler);
context.setHandler(BasicHttpServerExample2::handleRequest);
server.start();
}
public static void RootHandler(HttpExchange he) throws IOException {
String response = "<h1>Server start success if you see this message</h1>" + "<h1>Port: " + "88" + "</h1>";
he.sendResponseHeaders(200, response.length());
OutputStream os = he.getResponseBody();
os.write(response.getBytes());
os.close();
}
private static void handleRequest(HttpExchange exchange) throws IOException {
/** handler resoponse **/
URI requestURI = exchange.getRequestURI();
printRequestInfo(exchange);
/** handler resoponse **/
String response = "Data Received";
exchange.getResponseHeaders().add("Access-Control-Allow-Origin", "*");
/** handler resoponse **/
exchange.sendResponseHeaders(200, response.getBytes().length);
/** handler resoponse **/
OutputStream os = exchange.getResponseBody();
/** handler resoponse **/
os.write(response.getBytes());
/** handler resoponse **/
os.close();
}
private static void printRequestInfo(HttpExchange exchange) {
/** Console ***/
System.out.println("-- headers --");
Headers requestHeaders = exchange.getRequestHeaders();
requestHeaders.entrySet().forEach(System.out::println);
/** Console ***/
System.out.println("-- principle --");
HttpPrincipal principal = exchange.getPrincipal();
System.out.println(principal);
/** Console ***/
System.out.println("-- HTTP method --");
String requestMethod = exchange.getRequestMethod();
System.out.println(requestMethod);
/** Console ***/
System.out.println("-- query --");
URI requestURI = exchange.getRequestURI();
String query = requestURI.getQuery();
SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd 'at' HH:mm:ss z");
Date date = new Date(System.currentTimeMillis());
System.out.println(query + " received at " + formatter.format(date));
}
}