0

我已经建立了一个接受请求的小型网络服务器。问题是,如果我在浏览器中打开它,我的应用程序显示已收到 4 个请求。为什么是 4 而不仅仅是 1?

while (true) {
        try {
            Socket remote = s.accept();

            String sendersIP = remote.getInetAddress().toString();
            log.add(sendersIP);

                System.out.println("Got new Request");

                out.println("HTTP/1.0 200 OK");
                out.println("Content-Type: text/html");
                out.println("Server: Bot");
                out.println("");
                out.println("<H1>Welcome</H1>");

            out.flush();
            remote.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
4

2 回答 2

0

我建议您使用whilejust 来接受客户。创建一个新线程,您可以在其中处理与Socket remote.

线程还应该有一个 while 循环,它从remotes读取InputStream 并且在创建后不要立即关闭套接字。然后你可以看到你的浏览器到底发送了什么。

因为现在就是这样。创建后立即关闭到浏览器的套接字。

于 2013-09-02T15:16:58.617 回答
0

看起来这是我的浏览器(Chrome)错误......如果我从 Eclipse 发送请求,它只会出现一次。

于 2013-09-03T14:57:18.027 回答