GrabBag/Module/ZeroMQClient/Inc/IVrZeroMQClient.h
2026-05-31 00:10:46 +08:00

38 lines
923 B
C++

#pragma once
#include <iostream>
#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;
};