From 77d6431d389eea5f4ebf1bda1b33eb0d6cabbb8b Mon Sep 17 00:00:00 2001 From: coffee Date: Thu, 10 Aug 2023 12:01:10 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E6=9B=B4=E6=96=B0=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index e91b8df..93d0de8 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,12 @@ 1. SDK协议封装了协议部分, 网络部分由用户自己实现, 只需给协议提供发送数据的回调和读取xml数据的回调接口即可. 接下来只需要将网络读取的数据传入协议即可. ```cpp +static int sendDataToNet(const char *data, int len, void *userData) +{ + int len = write(fd, data, len); + return len > 0 ? 1 : 0; +} + // 创建协议通信 IHDProtocol sdk = CreateProtocol(); @@ -20,7 +26,7 @@ SetProtocolFunc(sdk, kSetReadXml, func); // kSetSendFunc = 0x0003 // kSetSendFuncData = 0x0004 // int sendDataToNet(const char *data, int len, void *userData), 返回0或1, 1成功 0失败 -SetProtocolFunc(sdk, kSetReadXml, func); +SetProtocolFunc(sdk, kSetSendFunc, sendDataToNet); // 开始执行协议协商 RunProtocol(sdk); @@ -65,17 +71,18 @@ ISDKInfo sdkInfo = CreateSDKInfo(); IHDProtocol sdk = CreateProtocol(); // 设置协议 +// 设置读取xml的数据的回调 // kSetReadXml = 0x0001 // kSetReadXmlData = 0x0002 // void readXml(const char *xml, int len, int errorCode, void *userData) -SetProtocolFunc(sdk, kSetReadXml, func); +SetProtocolFunc(sdk, kSetReadXml, readXml); +SetProtocolFunc(sdk, kSetReadXmlData, sdkInfo); // 设置这个回调, 这个回调就是需要write的发送数据的地方 // kSetSendFunc = 0x0003 // kSetSendFuncData = 0x0004 // int sendDataToNet(const char *data, int len, void *userData), 返回0或1, 1成功 0失败 -SetProtocolFunc(sdk, kSetReadXml, readXml); -SetProtocolFunc(sdk, kSetSendFuncData, sdkInfo); +SetProtocolFunc(sdk, kSetSendFunc, sendDataToNet); // 开始执行协议协商 RunProtocol(sdk); @@ -101,3 +108,19 @@ FreeSDKInfo(sdkInfo); FreeProtocol(sdk); ``` +## Linux 编译方法 + +```shell +cd HDSDK +mkdir build +cd build +cmake .. +make -j16 + +# 已经编译完成了, 在Protocol有libHDSDK.so +cd Protocol +``` + +## Windows编译方法 + +直接IDE打开CMakeLists.txt文件, 选好编译器编译就行了