首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java心跳设计

Java心跳设计
EN

Stack Overflow用户
提问于 2015-11-23 18:44:20
回答 1查看 14.9K关注 0票数 6

我需要在我的Java项目中实现一个心跳系统(3-5个客户端,1个服务器),但我有一些问题。

1)客户端是否需要两个套接字?一个用于心跳,一个用于接收软件的正常消息

2)我看到在特定情况下,当客户端延迟时,客户端没有收到消息,如何避免这种情况?

3)当客户端断开连接时,如何恢复连接?而不用它重新创建新的套接字。

EN

回答 1

Stack Overflow用户

发布于 2018-10-06 04:21:26

你可以试着看看我为一个项目做的这个小框架,我去年参与了一个项目。它专注于一个简单的实现,并提供关于客户状态的强有力的反馈。

它基于UDP协议,它发送一个包含id的有效负载,id可以是NIC的MAC地址,也可以是您自动选择和设置的id或其他东西,以确认客户端是安全的和健康的。

我认为这很酷,因为它基于侦听器,然后侦听器根据心跳协议计算的客户端状态接收各种事件。

你可以在here找到更多关于它的信息

我认为将它与TCP套接字一起使用来了解您是否有能力通过TCP流发送数据是很方便的。拥有对客户状态的连续反馈可以让您轻松实现这一点,例如,通过将客户状态保存在某种地图中,并在发送任何类型的数据之前对其进行检查。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33869092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档