业务场景:
适用于后端服务开发:
这一次你需要开发一个服务器,有若干设备连接到你,常见的如TCP数据服务器等;
期间,设备定时60秒向你发送心跳,你需要维持在线状态,同时在3个周期(即180秒内没有收到心跳)认为设备离线。
分享简单做法(依赖时间轴)
std::mutex m_onlineMutex;
std::map<std::string, time_t> m_mapOnline;
void UpdateOnlineState(std::string& ip)
{
time_t m_curtime;
time(&m_curtime);
std::lock_guard<std::mutex