gpt4 book ai didi

Java 套接字服务器被杀死

转载 作者:行者123 更新时间:2023-12-01 05:06:20 26 4
gpt4 key购买 nike

我已经构建了一个 Java Socket 服务器,它可以监听我的 freebsd 服务器上的帖子。

Server 类监听端口并接受连接。每个新连接都会发送到 ServerManager,后者将其保存在列表中,并迭代它以检查新数据。迭代是通过无限 while 循环完成的。

我注意到运行几天后服务器就被终止了。我不知道是什么杀死了它。系统是否有可能杀死它,就像 Android 在内存和资源不足时杀死进程一样?有办法避免这种情况吗?也许创建某种“看门狗”来重新启动它,以防它被杀死?

最佳答案

if the getInputStream().available() > 0 it runs a new thread for handling it

这是不正确的。 (a) 没有必要,(b) 如果为零会发生什么?只需为接受的套接字生成线程,让它处理输入流,使用阻塞读取,并在完成时关闭所有内容(即当 read() 返回 -1 或抛出异常时)。

接受循环根本不应该对接受的套接字执行任何操作,除了将其传递给新线程之外。

关于Java 套接字服务器被杀死,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12610799/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com