Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java socket编程,为什么浏览器多次建立连接?_Java_Sockets_Browser_Webserver - Fatal编程技术网

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

Java socket编程,为什么浏览器多次建立连接?,java,sockets,browser,webserver,Java,Sockets,Browser,Webserver,当我使用chrome访问localhost:80时,为什么服务器会打印字符串“Test”3次?当我使用IE10访问它时,它会打印两次。如果您打印出它发出的HTTP请求,您可能会明白原因。最可能的情况是,浏览器正在尝试为您的“站点”(localhost)加载favicon.ico),或者它正在尝试重新连接到一个不能正确使用HTTP的服务器。如果您打印出它发出的HTTP请求,您可能会看到原因。最可能的情况是,浏览器正在尝试为您的“站点”(localhost)加载favicon.ico),或者它正在尝

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

如果您打印出它发出的HTTP请求,您可能会明白原因。最可能的情况是,浏览器正在尝试为您的“站点”(
localhost
)加载
favicon.ico
),或者它正在尝试重新连接到一个不能正确使用HTTP的服务器。

如果您打印出它发出的HTTP请求,您可能会看到原因。最可能的情况是,浏览器正在尝试为您的“站点”(
localhost
)加载
favicon.ico
),或者它正在尝试重新连接到一个不能正确使用HTTP的服务器。

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

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

非常感谢,我会尝试。非常感谢,我会尝试。正如这个问题的答案所暗示的,当客户机正在谈论更高级别的协议(如HTTP)时,谈论原始套接字可能不是一个好主意:结果可能不是您所期望的。你想在这里完成什么?为什么不使用HTTP服务器的实现呢?Java甚至在
sun
包中也包含了HTTP服务器?正如对这个问题的回答所提到的,当客户机正在谈论更高级别的协议(如HTTP)时,谈论原始套接字可能是个坏主意:结果可能不是您所期望的。你想在这里完成什么?为什么不使用HTTP服务器的实现呢?Java甚至在
sun
包中也包含了HTTP服务器?
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();
        }
    }
}