0
私は、単に接続を受け入れ、画面に "送信応答"を印刷する単純なJava Serverプログラミングを書いた。このサーバーを接続するためにサファリを使用すると、サーバーは結果を1回印刷しますが、これは正しい結果です。ただし、ページをリロードすると、3つの「送信応答」が画面に印刷されます。誰でも私を助けることができますか?java serverSocketについての奇妙な応答
public class Server {
public void runServer() throws Exception{
ServerSocket socketServer = new ServerSocket(3721);
System.out.println("Listerning for connections on port:"+socketServer.getLocalPort());
while(true){
Socket socket = socketServer.accept();
System.err.println("Established with:"+socket);
String request = parseRequest(socket);
String response = createResponse(request);
sendResponse(response);
socket.close();
}
}
public String parseRequest(Socket socket){
return "request";
}
public String createResponse(String request){
return "response";
}
public void sendResponse(String response){
System.out.println("Sending response");
}
public static void main(String[] args) throws Exception{
Server server = new Server();
server.runServer();
}
}
出力は以下のとおりです。あなたがページにSafariでリクエストを作成すると、Safariがおそらくあなたのサーブレットが拾っているバックグラウンドで他の項目をフェッチしようとしている
Listerning for connections on port:3721
Sending response
Established with:Socket[addr=/0:0:0:0:0:0:0:1%0,port=59055,localport=3721]
Sending response
Established with:Socket[addr=/0:0:0:0:0:0:0:1%0,port=59065,localport=3721]
Established with:Socket[addr=/0:0:0:0:0:0:0:1%0,port=59066,localport=3721]
Sending response
Sending response
Established with:Socket[addr=/0:0:0:0:0:0:0:1%0,port=59067,localport=3721]
うわー、私はそれを行う方法を知って、ありがとう、私は何が起こったかを確認するためにuriを印刷します。どうもありがとうございます! – NOrder