为了账号安全,请及时绑定邮箱和手机立即绑定

防止服务器在客户端(golang)服务器(Java)应用程序中终止

防止服务器在客户端(golang)服务器(Java)应用程序中终止

Go
米脂 2021-09-13 14:47:58
我有一个简单的 Java 回声服务器: int portNumber = 4444;    try (        ServerSocket serverSocket =            new ServerSocket(Integer.parseInt(args[0]));        Socket clientSocket = serverSocket.accept();             PrintWriter out =            new PrintWriter(clientSocket.getOutputStream(), true);                           BufferedReader in = new BufferedReader(            new InputStreamReader(clientSocket.getInputStream()));    ) {        String inputLine;        while ((inputLine = in.readLine()) != null) {            out.println(inputLine);            System.out.println(inputLine);        }    } catch (IOException e) {        System.out.println("Exception caught when trying to listen on port "            + portNumber + " or listening for a connection");        System.out.println(e.getMessage());    }和一个简单的 golang 客户端:func main() {    fmt.Println("start client")    conn, err := net.Dial("tcp", "localhost:4444")    if err != nil {        log.Fatal("Connection error", err)    }    conn.Write([]byte("hello world"))    conn.Close()    fmt.Println("done")}当我启动服务器然后运行客户端时,服务器按预期回显“hello world”,但随后服务器退出/终止。问:如何防止此 Java 终止并强制服务器持续等待更多客户端请求?
查看完整描述

1 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

当客户端终止时,readLine服务器端将导致流结束。因此,如果您希望服务器持续侦听新连接,只需将上述服务器代码置于无限循环中即可。


例如


while (true) {

   // above code

}

对于一个播放应用程序来说就足够了。


查看完整回答
反对 回复 2021-09-13
  • 1 回答
  • 0 关注
  • 210 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信