主服务器的 Java TCP 保持 Activity 状态

标签 java tcp keep-alive

上下文:主服务器(Java、TCP)监控托管游戏列表(主服务器和每个托管游戏服务器使用不同的机器)。任何用户都可以在他的 PC 上托管游戏。托管游戏可以持续数周或数月。

需要:了解托管游戏服务器何时关闭或无法访问。

限制 1:不能依赖托管服务器的“离线更新消息”,因为这些消息可能永远不会到达(断电、Internet 链接中断等)

限制 2: 我不确定 TCP 的内置保持 Activity 状态,因为它意味着每个托管服务器都有一个 24/7 开放套接字(如果我错了请纠正我)

有什么想法吗?

最佳答案

考虑使用某种心跳消息。这些消息(“我还活着!”)会定期发送,如果主服务器没有从托管服务器收到心跳消息(在一定时间内),它就会知道该托管服务器不可用。

如果您需要来自托管服务器的更多详细信息(例如“完全运行”、“5 分钟内停机维护”等),您甚至可以向此消息添加一些状态参数

关于主服务器的 Java TCP 保持 Activity 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2956356/

相关文章:

java - Handle != null 检查两个变量

java - 如何获取 javax.ws.rs.core.UriInfo 的实例

tcp - 在 Go 中超时 TCP 握手的惯用方法

java - socket.Close() 停止程序 (java)

c++ - 在 TCP 客户端上接收数据包中的数据

用于 HTTP keep-alive 的 PHP Guzzle 客户端

ubuntu - gedit - FTP 编辑保持事件状态

java - 为什么 shell 脚本不会从 Java Runtime.exec 执行,而是从命令行执行?

java - Android:如何使用 Robolectric 运行 PIT 突变测试?

ajax - HTTP Keep Alive 对 AJAX 站点的好处