2024-03-05 11:19:31 +08:00

39 lines
714 B
C++

#pragma once
#include "zmq.hpp"
#include <string>
#include <thread>
typedef void (*ParamUpdate)(std::string& msg);
typedef void (*AlarmHandle)(std::string& msg);
class ZeroMq {
public:
ZeroMq();
~ZeroMq();
void Resque();
void Publish();
void Subscribe();
void SetCallBack(ParamUpdate pU, AlarmHandle aH) {
m_paramUpdate = pU;
m_alarmHandle = aH;
}
private:
std::string m_localIp; //本地IP
std::string m_serverIp; //服务端IP
int m_publishPort; //发布端口
int m_pushPullPort; //推拉端口
std::thread m_subThread; //订阅线程
std::thread m_pushThread; //推线程
bool m_subQuit;
bool m_pushQuit;
ParamUpdate m_paramUpdate;
AlarmHandle m_alarmHandle;
};