#pragma once #include #pragma once #if defined(_WIN32) #ifdef VR_MQCLIENT_EXPORTS #define VR_MQCLIENT_API __declspec(dllexport) #else #define VR_MQCLIENT_API __declspec(dllimport) #endif #else #ifndef VR_MQCLIENT_API #ifdef __cplusplus #define VR_MQCLIENT_API extern "C" __attribute__((visibility("default"))) #else #define VR_MQCLIENT_API __attribute__((visibility("default"))) #endif #endif #endif class IVrZeroMQClient { public: virtual ~IVrZeroMQClient() = default; static bool CreateObject(IVrZeroMQClient** ppMQClient); // 初始化 virtual int Init(const char* sIP, int nPort) = 0; // 发送数据并等待返回结果 ppRecvData 外部不需要释放,内部进行管理 virtual int SendAndWaitBack(const char* pdata, const int nLen, char** ppRecvData, size_t& nRecvLen) = 0; // 关闭通信 virtual int UnInit() = 0; };