0
我有這個小的Java HTTP服務器:谷歌chrome多次連接到Java的HttpServer
public class HttpServer {
public static void main(String args[]) {
int port;
ServerSocket server_socket;
try {
port = Integer.parseInt(args[0]);
} catch (Exception e) {
port = 8080;
}
try {
server_socket = new ServerSocket(port, 0, InetAddress.getByName("localhost"));
System.out.println("httpServer running on port "
+ server_socket.getLocalPort()
+ " address " + server_socket.getInetAddress()
);
} catch (IOException e) {
System.out.println(e);
}
}
}
當我用谷歌瀏覽器連接到localhost IDE控制檯寫入以下內容:
httpServer running on port 8080 address localhost/127.0.0.1
New connection accepted /127.0.0.1:54839
New connection accepted /127.0.0.1:54840
好像谷歌瀏覽器連接兩次到服務器,但更改其端口。 爲什麼會這樣?
您還有其他事情正在瀏覽器頁面上進行。 Chrome只會連接到您的URL中的端口,可能是端口8080.這些其他連接正在被別的東西分離出來。擴展,JavaScript邏輯等 – BrianC 2014-10-10 17:47:05
127.0.0.1:54839和127.0.0.1:54840是請求來自的地方,而不是它們被接收的地方,127.0.0.1:8080。我看到了運行節點服務器並使用Chrome或IE瀏覽器發生同樣的事情。 – samaspin 2014-11-19 16:18:23