38 lines
923 B
C++
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;
|
|
};
|
|
|