Java套接字编程,为什么浏览器多次建立连接


import java.io.DataInputStream;
import java.io.DataOutput;
import java.io.DataOutputStream;
import java.net.*;
import java.util.concurrent.*;
public class Server {
    public static void main(String[] args) {
        try {
            ServerSocket serverSocket = new ServerSocket(80);
            while (true) {
                Socket socket = serverSocket.accept();
                System.out.println("Test");
                socket.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

当我使用 chrome 访问 localhost:80 时,为什么服务器会打印字符串"Test"3 次?当我使用IE10访问它时,它会打印两次。

如果你打印出它发出的HTTP请求,你可能会明白为什么。最有可能的是,浏览器正在尝试为您的"站点"(localhost)加载favicon.ico,或者它正在尝试重新连接到未使用正确HTTP的服务器。

当它连接到Web服务器时,它会请求一些资源,如favicon。 我建议您打印它要求的内容,这样您就不会猜测为什么多次访问它。

相关内容

最新更新