diff --git a/.github/workflows/Rocky_build.yml b/.github/workflows/Rocky_build.yml index f5e43dc1..c316b02c 100644 --- a/.github/workflows/Rocky_build.yml +++ b/.github/workflows/Rocky_build.yml @@ -16,7 +16,7 @@ jobs: build: runs-on: ${{ matrix.runner }} container: - image: rockylinux/rockylinux:9.5 + image: rockylinux/rockylinux:${{ matrix.os_version }} options: --platform ${{ matrix.platform }} strategy: matrix: @@ -25,10 +25,22 @@ jobs: runner: ubuntu-24.04 platform: linux/amd64 artifact: x86-64 + os_version: 9 + - arch: amd64 + runner: ubuntu-24.04 + platform: linux/amd64 + artifact: x86-64 + os_version: 10 - arch: arm64 runner: ubuntu-24.04-arm platform: linux/arm64 artifact: Arm64 + os_version: 9 + - arch: arm64 + runner: ubuntu-24.04-arm + platform: linux/arm64 + artifact: Arm64 + os_version: 10 steps: - name: Checkout main repository code @@ -46,36 +58,39 @@ jobs: uses: actions/checkout@v4 with: repository: libxengine/XEngine_OPenSource - path: XEngine_Source/XEngine_Depend + path: XEngine_Source/XEngine_DependLibrary/XEngine_OPenSource - name: sub module checkout (XEngine_PhoneData) uses: actions/checkout@v4 with: repository: libxengine/XEngine_PhoneData - path: XEngine_Source/XEngine_DBDepend/XEngine_PhoneData + path: XEngine_Source/XEngine_DependLibrary/XEngine_PhoneData - name: sub module checkout (XEngine_IPMacData) uses: actions/checkout@v4 with: repository: libxengine/XEngine_IPMacData - path: XEngine_Source/XEngine_DBDepend/XEngine_IPMacData - + path: XEngine_Source/XEngine_DependLibrary/XEngine_IPMacData + - name: Set TERM variable run: echo "TERM=xterm" >> $GITHUB_ENV - name: install system package run: | + dnf clean all + dnf makecache + dnf distro-sync -y dnf update -y dnf install gcc g++ make git jq unzip wget -y - + - name: install xengine library run: | latest_tag=$(curl -s https://api.github.com/repos/libxengine/libxengine/releases/latest | jq -r .tag_name) - wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_RockyLinux_9_${{ matrix.artifact }}.zip - unzip ./XEngine_RockyLinux_9_${{ matrix.artifact }}.zip -d ./XEngine_RockyLinux_9_${{ matrix.artifact }} - cd XEngine_RockyLinux_9_${{ matrix.artifact }} + wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_RockyLinux_${{ matrix.os_version }}_${{ matrix.artifact }}.zip + unzip ./XEngine_RockyLinux_${{ matrix.os_version }}_${{ matrix.artifact }}.zip -d ./XEngine_RockyLinux_${{ matrix.os_version }}_${{ matrix.artifact }} + cd XEngine_RockyLinux_${{ matrix.os_version }}_${{ matrix.artifact }} chmod 777 * ./XEngine_LINEnv.sh -i 3 - + dnf install libavdevice -y - name: install build package run: | dnf install lua-devel opencv-devel qrencode-devel leptonica-devel tesseract-devel -y @@ -100,6 +115,6 @@ jobs: - name: Upload folder as artifact with RockyLinux uses: actions/upload-artifact@v4 with: - name: XEngine_APIServiceApp-RockyLinux_9_${{ matrix.artifact }} + name: XEngine_APIServiceApp-RockyLinux_${{ matrix.os_version }}_${{ matrix.artifact }} path: XEngine_Release/ retention-days: 1 diff --git a/.github/workflows/debian_build.yml b/.github/workflows/debian_build.yml index 0c687c61..0db7586d 100644 --- a/.github/workflows/debian_build.yml +++ b/.github/workflows/debian_build.yml @@ -38,25 +38,25 @@ jobs: repository: libxengine/libxengine path: libxengine + - name: Set TERM variable + run: echo "TERM=xterm" >> $GITHUB_ENV + - name: sub module checkout (XEngine_OPenSource) uses: actions/checkout@v4 with: repository: libxengine/XEngine_OPenSource - path: XEngine_Source/XEngine_Depend + path: XEngine_Source/XEngine_DependLibrary/XEngine_OPenSource - name: sub module checkout (XEngine_PhoneData) uses: actions/checkout@v4 with: repository: libxengine/XEngine_PhoneData - path: XEngine_Source/XEngine_DBDepend/XEngine_PhoneData + path: XEngine_Source/XEngine_DependLibrary/XEngine_PhoneData - name: sub module checkout (XEngine_IPMacData) uses: actions/checkout@v4 with: repository: libxengine/XEngine_IPMacData - path: XEngine_Source/XEngine_DBDepend/XEngine_IPMacData + path: XEngine_Source/XEngine_DependLibrary/XEngine_IPMacData - - name: Set TERM variable - run: echo "TERM=xterm" >> $GITHUB_ENV - - name: install system package run: | apt update -y diff --git a/.github/workflows/fedora_build.yml b/.github/workflows/fedora_build.yml index 1cca796b..30066c36 100644 --- a/.github/workflows/fedora_build.yml +++ b/.github/workflows/fedora_build.yml @@ -35,6 +35,8 @@ jobs: steps: - name: Checkout main repository code uses: actions/checkout@v4 + with: + ref: 'develop' - name: Checkout dependency repository (xengine) uses: actions/checkout@v4 @@ -46,18 +48,18 @@ jobs: uses: actions/checkout@v4 with: repository: libxengine/XEngine_OPenSource - path: XEngine_Source/XEngine_Depend + path: XEngine_Source/XEngine_DependLibrary/XEngine_OPenSource - name: sub module checkout (XEngine_PhoneData) uses: actions/checkout@v4 with: repository: libxengine/XEngine_PhoneData - path: XEngine_Source/XEngine_DBDepend/XEngine_PhoneData + path: XEngine_Source/XEngine_DependLibrary/XEngine_PhoneData - name: sub module checkout (XEngine_IPMacData) uses: actions/checkout@v4 with: repository: libxengine/XEngine_IPMacData - path: XEngine_Source/XEngine_DBDepend/XEngine_IPMacData - + path: XEngine_Source/XEngine_DependLibrary/XEngine_IPMacData + - name: install system package run: | dnf update -y diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 87c7351f..6df21913 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,7 +17,7 @@ jobs: fetch-depth: 0 - name: Download ubuntu build - uses: dawidd6/action-download-artifact@v6 + uses: dawidd6/action-download-artifact@v11 with: workflow: Ubuntu_build.yml workflow_conclusion: success @@ -26,7 +26,7 @@ jobs: if_no_artifact_found: fail path: ./XRelease/ - name: Download debian build - uses: dawidd6/action-download-artifact@v6 + uses: dawidd6/action-download-artifact@v11 with: workflow: debian_build.yml workflow_conclusion: success @@ -35,7 +35,7 @@ jobs: if_no_artifact_found: fail path: ./XRelease/ - name: Download fedora build - uses: dawidd6/action-download-artifact@v6 + uses: dawidd6/action-download-artifact@v11 with: workflow: fedora_build.yml workflow_conclusion: success @@ -44,7 +44,7 @@ jobs: if_no_artifact_found: fail path: ./XRelease/ - name: Download Rocky build - uses: dawidd6/action-download-artifact@v6 + uses: dawidd6/action-download-artifact@v11 with: workflow: Rocky_build.yml workflow_conclusion: success @@ -53,7 +53,7 @@ jobs: if_no_artifact_found: fail path: ./XRelease/ - name: Download macbuild - uses: dawidd6/action-download-artifact@v6 + uses: dawidd6/action-download-artifact@v11 with: workflow: macbuild.yml workflow_conclusion: success @@ -62,7 +62,7 @@ jobs: if_no_artifact_found: fail path: ./XRelease/ - name: Download msbuild - uses: dawidd6/action-download-artifact@v6 + uses: dawidd6/action-download-artifact@v11 with: workflow: msbuild.yml workflow_conclusion: success diff --git a/.gitmodules b/.gitmodules index 1dde6ebf..41ea6af6 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,9 +1,9 @@ -[submodule "XEngine_Source/XEngine_Depend"] - path = XEngine_Source/XEngine_Depend +[submodule "XEngine_Source/XEngine_DependLibrary/XEngine_OPenSource"] + path = XEngine_Source/XEngine_DependLibrary/XEngine_OPenSource url = https://github.com/libxengine/XEngine_OPenSource.git -[submodule "XEngine_Source/XEngine_DBDepend/phonedata"] - path = XEngine_Source/XEngine_DBDepend/XEngine_PhoneData - url = https://github.com/libxengine/XEngine_PhoneData.git -[submodule "XEngine_Source/XEngine_DBDepend/XEngine_IPMacData"] - path = XEngine_Source/XEngine_DBDepend/XEngine_IPMacData +[submodule "XEngine_Source/XEngine_DependLibrary/XEngine_IPMacData"] + path = XEngine_Source/XEngine_DependLibrary/XEngine_IPMacData url = https://github.com/libxengine/XEngine_IPMacData.git +[submodule "XEngine_Source/XEngine_DependLibrary/XEngine_PhoneData"] + path = XEngine_Source/XEngine_DependLibrary/XEngine_PhoneData + url = https://github.com/libxengine/XEngine_PhoneData.git diff --git a/CHANGELOG b/CHANGELOG index 0bce777c..b12f3696 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,31 @@ +XEngine_APIService V3.12.0.1001 + +增加:rockylinux 10 支持 +增加:后台服务完成通知 +增加:macos屏幕录像 +优化:大内存操作统一采用内存池 +修改:内存缓冲警告和优化 +修改:调整信息获取和存储方法 +修改:git的子模块目录修改 +修改:可以为后台服务报告api完成信息了 +修正:后台服务下载操作问题 +修正:后台服务上传文件无效 +修正:屏幕推流不工作 +删除:不需要的后台编码句柄 + +added:rocky linux 10 support +added:completed notify for back service +added:record screen macos support +improved:All large memory operations use memory pool instead +modify:memory buffer warn and improved +modify:Adjust the information acquisition and storage method +modify:git submodule move to new dir +modify:create new field for api address report for back service +fixed:download operator not work for back service protocol +fixed:upload file not work for back service +fixed:screen stream push not work +delete:audio and video encoder code for back service +====================================================================================== XEngine_APIService V3.11.0.1001 增加:更多发布系统支持 diff --git a/README.en.md b/README.en.md index f42ef00c..ed6f3552 100644 --- a/README.en.md +++ b/README.en.md @@ -58,6 +58,7 @@ It allows you to save 90% of information service costs in a year. 35. NTP Time Sync Protocol 36. mac address vendor query 37. ORC Get TEXT With image +38. P2P ## install diff --git a/README.md b/README.md index 3a62321f..78a7250a 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,7 @@ c c++ interface api service 35. NTP时间同步协议 36. 支持MAC地址厂商查询 37. ORC图像文本提取 +38. P2P ## 安装教程 diff --git a/XEngine_Docment/Docment_en.docx b/XEngine_Docment/Docment_en.docx index aab35b39..712e0a64 100644 Binary files a/XEngine_Docment/Docment_en.docx and b/XEngine_Docment/Docment_en.docx differ diff --git a/XEngine_Docment/Docment_zh.docx b/XEngine_Docment/Docment_zh.docx index c4917001..c80404bd 100644 Binary files a/XEngine_Docment/Docment_zh.docx and b/XEngine_Docment/Docment_zh.docx differ diff --git a/XEngine_Release/XEngine_Config/XEngine_VersionConfig.json b/XEngine_Release/XEngine_Config/XEngine_VersionConfig.json index decbd2bb..27f17a21 100644 --- a/XEngine_Release/XEngine_Config/XEngine_VersionConfig.json +++ b/XEngine_Release/XEngine_Config/XEngine_VersionConfig.json @@ -1,5 +1,6 @@ { "XVer":[ + "3.12.0.1001 Build20250703", "3.11.0.1001 Build20250506", "3.10.0.1001 Build20250416", "3.9.0.1001 Build20250224", diff --git a/XEngine_Release/copydb.bat b/XEngine_Release/copydb.bat index 67c94c7f..fb1a38da 100644 --- a/XEngine_Release/copydb.bat +++ b/XEngine_Release/copydb.bat @@ -1,4 +1,4 @@ -copy /y "..\XEngine_Source\XEngine_DBDepend\XEngine_IPMacData\XEngine_DBFile\GeoLite2-ASN.mmdb" "./XEngine_DBFile" -copy /y "..\XEngine_Source\XEngine_DBDepend\XEngine_IPMacData\XEngine_DBFile\GeoLite2-City.mmdb" "./XEngine_DBFile" -copy /y "..\XEngine_Source\XEngine_DBDepend\XEngine_IPMacData\XEngine_DBFile\macaddr.xdb" "./XEngine_DBFile" -copy /y "..\XEngine_Source\XEngine_DBDepend\XEngine_PhoneData\Data\phone_utf.dat" "./XEngine_DBFile/phone.xdb" \ No newline at end of file +copy /y "..\XEngine_Source\XEngine_DependLibrary\XEngine_IPMacData\XEngine_DBFile\GeoLite2-ASN.mmdb" "./XEngine_DBFile" +copy /y "..\XEngine_Source\XEngine_DependLibrary\XEngine_IPMacData\XEngine_DBFile\GeoLite2-City.mmdb" "./XEngine_DBFile" +copy /y "..\XEngine_Source\XEngine_DependLibrary\XEngine_IPMacData\XEngine_DBFile\macaddr.xdb" "./XEngine_DBFile" +copy /y "..\XEngine_Source\XEngine_DependLibrary\XEngine_PhoneData\Data\phone_utf.dat" "./XEngine_DBFile/phone.xdb" \ No newline at end of file diff --git a/XEngine_Release/copydb.sh b/XEngine_Release/copydb.sh index 7cb76d67..2e0b4172 100644 --- a/XEngine_Release/copydb.sh +++ b/XEngine_Release/copydb.sh @@ -1,6 +1,6 @@ #!/bin/bash -cp -f ../XEngine_Source/XEngine_DBDepend/XEngine_IPMacData/XEngine_DBFile/GeoLite2-ASN.mmdb ./XEngine_DBFile/ -cp -f ../XEngine_Source/XEngine_DBDepend/XEngine_IPMacData/XEngine_DBFile/GeoLite2-City.mmdb ./XEngine_DBFile/ -cp -f ../XEngine_Source/XEngine_DBDepend/XEngine_IPMacData/XEngine_DBFile/macaddr.xdb ./XEngine_DBFile/ -cp -f ../XEngine_Source/XEngine_DBDepend/XEngine_PhoneData/Data/phone_utf.dat ./XEngine_DBFile/phone.xdb \ No newline at end of file +cp -f ../XEngine_Source/XEngine_DependLibrary/XEngine_IPMacData/XEngine_DBFile/GeoLite2-ASN.mmdb ./XEngine_DBFile/ +cp -f ../XEngine_Source/XEngine_DependLibrary/XEngine_IPMacData/XEngine_DBFile/GeoLite2-City.mmdb ./XEngine_DBFile/ +cp -f ../XEngine_Source/XEngine_DependLibrary/XEngine_IPMacData/XEngine_DBFile/macaddr.xdb ./XEngine_DBFile/ +cp -f ../XEngine_Source/XEngine_DependLibrary/XEngine_PhoneData/Data/phone_utf.dat ./XEngine_DBFile/phone.xdb \ No newline at end of file diff --git a/XEngine_SQL/XEngine_APIMachine.sql b/XEngine_SQL/XEngine_APIMachine.sql index 2ae16b3b..f406f97e 100644 --- a/XEngine_SQL/XEngine_APIMachine.sql +++ b/XEngine_SQL/XEngine_APIMachine.sql @@ -1,17 +1,17 @@ /* - Navicat Premium Data Transfer + Navicat Premium Dump SQL - Source Server : mysql + Source Server : QQCloud Source Server Type : MySQL - Source Server Version : 80037 (8.0.37-0ubuntu0.22.04.3) - Source Host : 10.0.3.154:3306 + Source Server Version : 80042 (8.0.42-0ubuntu0.24.04.1) + Source Host : 118.25.14.242:3306 Source Schema : XEngine_APIMachine Target Server Type : MySQL - Target Server Version : 80037 (8.0.37-0ubuntu0.22.04.3) + Target Server Version : 80042 (8.0.42-0ubuntu0.24.04.1) File Encoding : 65001 - Date: 20/06/2024 17:32:50 + Date: 03/07/2025 14:49:40 */ SET NAMES utf8mb4; @@ -27,11 +27,12 @@ CREATE TABLE `XEngine_MachineList` ( `tszMachineName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '机器名称', `tszMachineUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '机器用户', `tszMachineSystem` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '系统名称', - `tszMachineText` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '机器信息', + `tszMachineSoftware` varchar(4096) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '软件信息', + `tszMachineHardware` varchar(4096) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '硬件信息', `nTimeNumber` bigint NOT NULL COMMENT '启动次数', `tszLastTime` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `tszCreateTime` datetime NOT NULL COMMENT '注册时间', PRIMARY KEY (`ID`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 0 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = DYNAMIC; SET FOREIGN_KEY_CHECKS = 1; diff --git a/XEngine_Source/Makefile b/XEngine_Source/Makefile index 07a63989..0b3328c7 100644 --- a/XEngine_Source/Makefile +++ b/XEngine_Source/Makefile @@ -17,11 +17,11 @@ PLUGIN_MODULE_TIMEZONE = ./XEngine_PluginModule/ModulePlugin_Timezone PLUGIN_MODULE_BMINDEX = ./XEngine_PluginModule/ModulePlugin_BMIndex PLUGIN_MODULE_METER = ./XEngine_PluginModule/ModulePlugin_Meter -THIRDPART_MODULE_JSONCPP = ./XEngine_Depend/XEngine_Module/jsoncpp -THIRDPART_MODULE_REPORT = ./XEngine_Depend/XEngine_Module/XEngine_InfoReport +THIRDPART_MODULE_JSONCPP = ./XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp +THIRDPART_MODULE_REPORT = ./XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/XEngine_InfoReport -APIMODULE_PHONE_PATH = ./XEngine_DBDepend/XEngine_PhoneData/Source/C/XEngine_APIModulePhone -APIMODULE_IPMAC_PATH = ./XEngine_DBDepend/XEngine_IPMacData/XEngine_Source/XEngine_APIModuleIPMac +APIMODULE_PHONE_PATH = ./XEngine_DependLibrary/XEngine_PhoneData/Source/C/XEngine_APIModulePhone +APIMODULE_IPMAC_PATH = ./XEngine_DependLibrary/XEngine_IPMacData/XEngine_Source/XEngine_APIModuleIPMac APP_HTTP_PATH = ./XEngine_ServiceApp/XEngine_HttpApp diff --git a/XEngine_Source/VSClean.bat b/XEngine_Source/VSClean.bat index d2cff756..4bd44145 100644 --- a/XEngine_Source/VSClean.bat +++ b/XEngine_Source/VSClean.bat @@ -5,6 +5,7 @@ FOR /R . %%d IN (.) DO rd /s /q "%%d\Release" 2>nul FOR /R . %%d IN (.) DO rd /s /q "%%d\x64" 2>nul FOR /R . %%d IN (.) DO rd /s /q "%%d\Debug" 2>nul FOR /R . %%d IN (.) DO rd /s /q "%%d\ipch" 2>nul +FOR /R . %%d IN (.) DO rd /s /q "%%d\ARM64" 2>nul rem If the Properties directory is empty, remove it FOR /R . %%d in (.) do rd /q "%%d\Properties" 2> nul diff --git a/XEngine_Source/XEngine.sln b/XEngine_Source/XEngine.sln index fbfa80aa..c2166ada 100644 --- a/XEngine_Source/XEngine.sln +++ b/XEngine_Source/XEngine.sln @@ -19,20 +19,20 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_HttpApp", "XEngine_ServiceApp\XEngine_HttpApp\XEngine_HttpApp.vcxproj", "{E756B7D2-D40D-4106-9C14-1D90F20A712E}" ProjectSection(ProjectDependencies) = postProject {140AD4A9-4918-4345-B352-507C345AEBE0} = {140AD4A9-4918-4345-B352-507C345AEBE0} + {F6520D2C-BB8E-45BB-964B-F5D6A4318A89} = {F6520D2C-BB8E-45BB-964B-F5D6A4318A89} + {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} = {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} {201B6D13-82A7-49E9-9736-D6B3BFE05B30} = {201B6D13-82A7-49E9-9736-D6B3BFE05B30} + {FFAC032D-4F8C-4C70-AF36-D79685A6961F} = {FFAC032D-4F8C-4C70-AF36-D79685A6961F} {32BB166A-3D3D-45EF-8BED-2E0471274159} = {32BB166A-3D3D-45EF-8BED-2E0471274159} {37B8E91F-EC52-41F0-B21D-441D4270C05F} = {37B8E91F-EC52-41F0-B21D-441D4270C05F} {6C935BE1-77E3-4719-A7A6-C76ABAFEE010} = {6C935BE1-77E3-4719-A7A6-C76ABAFEE010} {6D0FCB40-D544-4AB2-A239-2FEBC4B98F6D} = {6D0FCB40-D544-4AB2-A239-2FEBC4B98F6D} {6F111577-DAF8-4294-B516-0077C22D7613} = {6F111577-DAF8-4294-B516-0077C22D7613} - {92F971AB-CAC9-4D9B-A9CA-AFD9CA17E505} = {92F971AB-CAC9-4D9B-A9CA-AFD9CA17E505} {A13B72E7-FC40-4A27-81C3-26DF3C8F4C0A} = {A13B72E7-FC40-4A27-81C3-26DF3C8F4C0A} + {92F971AB-CAC9-4D9B-A9CA-AFD9CA17E505} = {92F971AB-CAC9-4D9B-A9CA-AFD9CA17E505} {BBC4B2B4-1143-45DF-8890-47CE26A61D0E} = {BBC4B2B4-1143-45DF-8890-47CE26A61D0E} {CB443280-E283-44CD-B956-52C404A51DB6} = {CB443280-E283-44CD-B956-52C404A51DB6} - {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} = {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} {F54F152C-594F-4465-A44E-2DB915B39760} = {F54F152C-594F-4465-A44E-2DB915B39760} - {F6520D2C-BB8E-45BB-964B-F5D6A4318A89} = {F6520D2C-BB8E-45BB-964B-F5D6A4318A89} - {FFAC032D-4F8C-4C70-AF36-D79685A6961F} = {FFAC032D-4F8C-4C70-AF36-D79685A6961F} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_ModuleDatabase", "XEngine_ModuleDatabase\XEngine_ModuleDatabase.vcxproj", "{140AD4A9-4918-4345-B352-507C345AEBE0}" @@ -75,25 +75,43 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libModulePlugin_Meter", "XE EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_ModuleSystem", "XEngine_ModuleSystem\XEngine_ModuleSystem.vcxproj", "{92F971AB-CAC9-4D9B-A9CA-AFD9CA17E505}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "XEngine_Depend", "XEngine_Depend", "{2B89A3C7-0CC8-4881-B195-61BAA9ACB78B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jsoncpp", "XEngine_Depend\XEngine_Module\jsoncpp\jsoncpp.vcxproj", "{F1736B3F-03A2-4FC7-B045-A12BA8D724FB}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_InfoReport", "XEngine_Depend\XEngine_Module\XEngine_InfoReport\XEngine_InfoReport.vcxproj", "{F6520D2C-BB8E-45BB-964B-F5D6A4318A89}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_APIServiceApp", "XEngine_ServiceApp\XEngine_APIServiceApp\XEngine_APIServiceApp.vcxproj", "{096BEF37-4AF6-490D-868B-6306D3E251E7}" ProjectSection(ProjectDependencies) = postProject + {140AD4A9-4918-4345-B352-507C345AEBE0} = {140AD4A9-4918-4345-B352-507C345AEBE0} + {F6520D2C-BB8E-45BB-964B-F5D6A4318A89} = {F6520D2C-BB8E-45BB-964B-F5D6A4318A89} {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} = {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} + {201B6D13-82A7-49E9-9736-D6B3BFE05B30} = {201B6D13-82A7-49E9-9736-D6B3BFE05B30} + {FFAC032D-4F8C-4C70-AF36-D79685A6961F} = {FFAC032D-4F8C-4C70-AF36-D79685A6961F} + {32BB166A-3D3D-45EF-8BED-2E0471274159} = {32BB166A-3D3D-45EF-8BED-2E0471274159} + {37B8E91F-EC52-41F0-B21D-441D4270C05F} = {37B8E91F-EC52-41F0-B21D-441D4270C05F} + {6C935BE1-77E3-4719-A7A6-C76ABAFEE010} = {6C935BE1-77E3-4719-A7A6-C76ABAFEE010} + {6D0FCB40-D544-4AB2-A239-2FEBC4B98F6D} = {6D0FCB40-D544-4AB2-A239-2FEBC4B98F6D} + {6F111577-DAF8-4294-B516-0077C22D7613} = {6F111577-DAF8-4294-B516-0077C22D7613} + {A13B72E7-FC40-4A27-81C3-26DF3C8F4C0A} = {A13B72E7-FC40-4A27-81C3-26DF3C8F4C0A} + {92F971AB-CAC9-4D9B-A9CA-AFD9CA17E505} = {92F971AB-CAC9-4D9B-A9CA-AFD9CA17E505} + {BBC4B2B4-1143-45DF-8890-47CE26A61D0E} = {BBC4B2B4-1143-45DF-8890-47CE26A61D0E} + {CB443280-E283-44CD-B956-52C404A51DB6} = {CB443280-E283-44CD-B956-52C404A51DB6} + {E756B7D2-D40D-4106-9C14-1D90F20A712E} = {E756B7D2-D40D-4106-9C14-1D90F20A712E} + {F54F152C-594F-4465-A44E-2DB915B39760} = {F54F152C-594F-4465-A44E-2DB915B39760} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "XEngine_DBDepend", "XEngine_DBDepend", "{91E64672-DF39-4F32-87FA-0F7AADA92D73}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "XEngine_DependLibrary", "XEngine_DependLibrary", "{02EA681E-C7D8-13C7-8484-4AC65E1B71E8}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_APIModuleIPMac", "XEngine_DBDepend\XEngine_IPMacData\XEngine_Source\XEngine_APIModuleIPMac\XEngine_APIModuleIPMac.vcxproj", "{FFAC032D-4F8C-4C70-AF36-D79685A6961F}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jsoncpp", "XEngine_DependLibrary\XEngine_OPenSource\XEngine_Module\jsoncpp\jsoncpp.vcxproj", "{F1736B3F-03A2-4FC7-B045-A12BA8D724FB}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_APIModulePhone", "XEngine_DBDepend\XEngine_PhoneData\Source\C\XEngine_APIModulePhone\XEngine_APIModulePhone.vcxproj", "{A13B72E7-FC40-4A27-81C3-26DF3C8F4C0A}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_InfoReport", "XEngine_DependLibrary\XEngine_OPenSource\XEngine_Module\XEngine_InfoReport\XEngine_InfoReport.vcxproj", "{F6520D2C-BB8E-45BB-964B-F5D6A4318A89}" + ProjectSection(ProjectDependencies) = postProject + {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} = {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} + EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_APIServiceApp", "XEngine_ServiceApp\XEngine_APIServiceApp\XEngine_APIServiceApp.vcxproj", "{096BEF37-4AF6-490D-868B-6306D3E251E7}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_APIModuleIPMac", "XEngine_DependLibrary\XEngine_IPMacData\XEngine_Source\XEngine_APIModuleIPMac\XEngine_APIModuleIPMac.vcxproj", "{FFAC032D-4F8C-4C70-AF36-D79685A6961F}" + ProjectSection(ProjectDependencies) = postProject + {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} = {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_APIModulePhone", "XEngine_DependLibrary\XEngine_PhoneData\Source\C\XEngine_APIModulePhone\XEngine_APIModulePhone.vcxproj", "{A13B72E7-FC40-4A27-81C3-26DF3C8F4C0A}" ProjectSection(ProjectDependencies) = postProject {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} = {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} - {F54F152C-594F-4465-A44E-2DB915B39760} = {F54F152C-594F-4465-A44E-2DB915B39760} EndProjectSection EndProject Global @@ -250,6 +268,18 @@ Global {92F971AB-CAC9-4D9B-A9CA-AFD9CA17E505}.Release|x64.Build.0 = Release|x64 {92F971AB-CAC9-4D9B-A9CA-AFD9CA17E505}.Release|x86.ActiveCfg = Release|Win32 {92F971AB-CAC9-4D9B-A9CA-AFD9CA17E505}.Release|x86.Build.0 = Release|Win32 + {096BEF37-4AF6-490D-868B-6306D3E251E7}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {096BEF37-4AF6-490D-868B-6306D3E251E7}.Debug|ARM64.Build.0 = Debug|ARM64 + {096BEF37-4AF6-490D-868B-6306D3E251E7}.Debug|x64.ActiveCfg = Debug|x64 + {096BEF37-4AF6-490D-868B-6306D3E251E7}.Debug|x64.Build.0 = Debug|x64 + {096BEF37-4AF6-490D-868B-6306D3E251E7}.Debug|x86.ActiveCfg = Debug|Win32 + {096BEF37-4AF6-490D-868B-6306D3E251E7}.Debug|x86.Build.0 = Debug|Win32 + {096BEF37-4AF6-490D-868B-6306D3E251E7}.Release|ARM64.ActiveCfg = Release|ARM64 + {096BEF37-4AF6-490D-868B-6306D3E251E7}.Release|ARM64.Build.0 = Release|ARM64 + {096BEF37-4AF6-490D-868B-6306D3E251E7}.Release|x64.ActiveCfg = Release|x64 + {096BEF37-4AF6-490D-868B-6306D3E251E7}.Release|x64.Build.0 = Release|x64 + {096BEF37-4AF6-490D-868B-6306D3E251E7}.Release|x86.ActiveCfg = Release|Win32 + {096BEF37-4AF6-490D-868B-6306D3E251E7}.Release|x86.Build.0 = Release|Win32 {F1736B3F-03A2-4FC7-B045-A12BA8D724FB}.Debug|ARM64.ActiveCfg = Debug|ARM64 {F1736B3F-03A2-4FC7-B045-A12BA8D724FB}.Debug|ARM64.Build.0 = Debug|ARM64 {F1736B3F-03A2-4FC7-B045-A12BA8D724FB}.Debug|x64.ActiveCfg = Debug|x64 @@ -298,18 +328,6 @@ Global {A13B72E7-FC40-4A27-81C3-26DF3C8F4C0A}.Release|x64.Build.0 = Release|x64 {A13B72E7-FC40-4A27-81C3-26DF3C8F4C0A}.Release|x86.ActiveCfg = Release|Win32 {A13B72E7-FC40-4A27-81C3-26DF3C8F4C0A}.Release|x86.Build.0 = Release|Win32 - {096BEF37-4AF6-490D-868B-6306D3E251E7}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {096BEF37-4AF6-490D-868B-6306D3E251E7}.Debug|ARM64.Build.0 = Debug|ARM64 - {096BEF37-4AF6-490D-868B-6306D3E251E7}.Debug|x64.ActiveCfg = Debug|x64 - {096BEF37-4AF6-490D-868B-6306D3E251E7}.Debug|x64.Build.0 = Debug|x64 - {096BEF37-4AF6-490D-868B-6306D3E251E7}.Debug|x86.ActiveCfg = Debug|Win32 - {096BEF37-4AF6-490D-868B-6306D3E251E7}.Debug|x86.Build.0 = Debug|Win32 - {096BEF37-4AF6-490D-868B-6306D3E251E7}.Release|ARM64.ActiveCfg = Release|ARM64 - {096BEF37-4AF6-490D-868B-6306D3E251E7}.Release|ARM64.Build.0 = Release|ARM64 - {096BEF37-4AF6-490D-868B-6306D3E251E7}.Release|x64.ActiveCfg = Release|x64 - {096BEF37-4AF6-490D-868B-6306D3E251E7}.Release|x64.Build.0 = Release|x64 - {096BEF37-4AF6-490D-868B-6306D3E251E7}.Release|x86.ActiveCfg = Release|Win32 - {096BEF37-4AF6-490D-868B-6306D3E251E7}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -321,11 +339,11 @@ Global {37B8E91F-EC52-41F0-B21D-441D4270C05F} = {D0473C03-9464-4C44-818A-AE212680CD05} {BBC4B2B4-1143-45DF-8890-47CE26A61D0E} = {D0473C03-9464-4C44-818A-AE212680CD05} {6F111577-DAF8-4294-B516-0077C22D7613} = {D0473C03-9464-4C44-818A-AE212680CD05} - {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} = {2B89A3C7-0CC8-4881-B195-61BAA9ACB78B} - {F6520D2C-BB8E-45BB-964B-F5D6A4318A89} = {2B89A3C7-0CC8-4881-B195-61BAA9ACB78B} - {FFAC032D-4F8C-4C70-AF36-D79685A6961F} = {91E64672-DF39-4F32-87FA-0F7AADA92D73} - {A13B72E7-FC40-4A27-81C3-26DF3C8F4C0A} = {91E64672-DF39-4F32-87FA-0F7AADA92D73} {096BEF37-4AF6-490D-868B-6306D3E251E7} = {79A9A569-7DA8-4D9D-AD34-D11115199EA1} + {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8} + {F6520D2C-BB8E-45BB-964B-F5D6A4318A89} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8} + {FFAC032D-4F8C-4C70-AF36-D79685A6961F} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8} + {A13B72E7-FC40-4A27-81C3-26DF3C8F4C0A} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {9B202F91-A601-429E-BB0F-880DDEE096FE} diff --git a/XEngine_Source/XEngine_Depend b/XEngine_Source/XEngine_Depend deleted file mode 160000 index 66e6bf39..00000000 --- a/XEngine_Source/XEngine_Depend +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 66e6bf39df14cd66d4bcbbb44a3e168ff75fed99 diff --git a/XEngine_Source/XEngine_DBDepend/XEngine_IPMacData b/XEngine_Source/XEngine_DependLibrary/XEngine_IPMacData similarity index 100% rename from XEngine_Source/XEngine_DBDepend/XEngine_IPMacData rename to XEngine_Source/XEngine_DependLibrary/XEngine_IPMacData diff --git a/XEngine_Source/XEngine_DependLibrary/XEngine_OPenSource b/XEngine_Source/XEngine_DependLibrary/XEngine_OPenSource new file mode 160000 index 00000000..2b479668 --- /dev/null +++ b/XEngine_Source/XEngine_DependLibrary/XEngine_OPenSource @@ -0,0 +1 @@ +Subproject commit 2b4796680134656c5144b3665aac9ec65ea6292a diff --git a/XEngine_Source/XEngine_DBDepend/XEngine_PhoneData b/XEngine_Source/XEngine_DependLibrary/XEngine_PhoneData similarity index 100% rename from XEngine_Source/XEngine_DBDepend/XEngine_PhoneData rename to XEngine_Source/XEngine_DependLibrary/XEngine_PhoneData diff --git a/XEngine_Source/XEngine_DependLibrary/keepfile b/XEngine_Source/XEngine_DependLibrary/keepfile new file mode 100644 index 00000000..34d1f899 --- /dev/null +++ b/XEngine_Source/XEngine_DependLibrary/keepfile @@ -0,0 +1 @@ +keepfile \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleConfigure/Makefile b/XEngine_Source/XEngine_ModuleConfigure/Makefile index 7a4990d3..f434398d 100644 --- a/XEngine_Source/XEngine_ModuleConfigure/Makefile +++ b/XEngine_Source/XEngine_ModuleConfigure/Makefile @@ -2,8 +2,8 @@ CC = g++ -Wall -std=c++20 -fPIC PLATVER = FILEEXT = LIBFLAG = -LOADHDR = -I ./ -I ../XEngine_Depend/XEngine_Module/jsoncpp -LOADSO = -L ../XEngine_Depend/XEngine_Module/jsoncpp +LOADHDR = -I ./ -I ../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp +LOADSO = -L ../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp LIB = -ljsoncpp LIBEX = OBJECTS = ModuleConfigure_Json.o pch.o diff --git a/XEngine_Source/XEngine_ModuleConfigure/XEngine_ModuleConfigure.vcxproj b/XEngine_Source/XEngine_ModuleConfigure/XEngine_ModuleConfigure.vcxproj index ce7b7da8..63e38bbb 100644 --- a/XEngine_Source/XEngine_ModuleConfigure/XEngine_ModuleConfigure.vcxproj +++ b/XEngine_Source/XEngine_ModuleConfigure/XEngine_ModuleConfigure.vcxproj @@ -99,30 +99,30 @@ true - $(XEngine_Include);../XEngine_Depend/XEngine_Module/jsoncpp;..\XEngine_ModuleConfigure;$(IncludePath) + $(XEngine_Include);../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;..\XEngine_ModuleConfigure;$(IncludePath) $(XEngine_Lib32);$(LibraryPath) false - $(XEngine_Include);../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_Lib32);$(LibraryPath) true - $(XEngine_Include);../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) true - $(XEngine_Include);../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) false - $(XEngine_Include);../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_Lib64);$(LibraryPath) false - $(XEngine_Include);../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_LibArm64);$(LibraryPath) diff --git a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_Machine/ModuleDatabase_Machine.cpp b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_Machine/ModuleDatabase_Machine.cpp index 248ded41..dcf19667 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_Machine/ModuleDatabase_Machine.cpp +++ b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_Machine/ModuleDatabase_Machine.cpp @@ -92,10 +92,10 @@ bool CModuleDatabase_Machine::ModuleDatabase_Machine_Insert(XENGINE_MACHINEINFO* DBModule_dwErrorCode = ERROR_APISERVICE_MODULE_DATABASE_PARAMENT; return false; } - XCHAR tszSQLStatement[4096]; + XCHAR tszSQLStatement[10240]; memset(tszSQLStatement, '\0', sizeof(tszSQLStatement)); - _xstprintf(tszSQLStatement, _X("INSERT INTO `XEngine_MachineList` (tszServiceName,tszMachineName,tszMachineUser,tszMachineSystem,tszMachineText,nTimeNumber,tszCreateTime) VALUES('%s','%s','%s','%s','%s',%lld,now())"), pSt_MachineInfo->tszServiceName, pSt_MachineInfo->tszMachineName, pSt_MachineInfo->tszMachineUser, pSt_MachineInfo->tszMachineSystem, pSt_MachineInfo->tszMachineText, pSt_MachineInfo->nTimeNumber); + _xstprintf(tszSQLStatement, _X("INSERT INTO `XEngine_MachineList` (tszServiceName,tszMachineName,tszMachineUser,tszMachineSystem,tszMachineSoftware,tszMachineHardware,nTimeNumber,tszCreateTime) VALUES('%s','%s','%s','%s','%s','%s',%lld,now())"), pSt_MachineInfo->tszServiceName, pSt_MachineInfo->tszMachineName, pSt_MachineInfo->tszMachineUser, pSt_MachineInfo->tszMachineSystem, pSt_MachineInfo->tszMachineSoftware, pSt_MachineInfo->tszMachineHardware, pSt_MachineInfo->nTimeNumber); #ifdef _MSC_BUILD XCHAR tszUTFStr[4096] = {}; int nSLen = _tcsxlen(tszSQLStatement); @@ -181,19 +181,23 @@ bool CModuleDatabase_Machine::ModuleDatabase_Machine_Query(XENGINE_MACHINEINFO* } if (NULL != pptszResult[5]) { - _tcsxcpy(pSt_MachineInfo->tszMachineText, pptszResult[5]); + _tcsxcpy(pSt_MachineInfo->tszMachineSoftware, pptszResult[5]); } if (NULL != pptszResult[6]) { - pSt_MachineInfo->nTimeNumber = _ttxoll(pptszResult[6]); + _tcsxcpy(pSt_MachineInfo->tszMachineHardware, pptszResult[6]); } if (NULL != pptszResult[7]) { - _tcsxcpy(pSt_MachineInfo->tszLastTime, pptszResult[7]); + pSt_MachineInfo->nTimeNumber = _ttxoll(pptszResult[7]); } if (NULL != pptszResult[8]) { - _tcsxcpy(pSt_MachineInfo->tszCreateTime, pptszResult[8]); + _tcsxcpy(pSt_MachineInfo->tszLastTime, pptszResult[8]); + } + if (NULL != pptszResult[9]) + { + _tcsxcpy(pSt_MachineInfo->tszCreateTime, pptszResult[9]); } } DataBase_MySQL_FreeResult(xhDBSQL, xhTable); @@ -342,19 +346,23 @@ bool CModuleDatabase_Machine::ModuleDatabase_Machine_List(XENGINE_MACHINEINFO*** } if (NULL != pptszResult[5]) { - _tcsxcpy((*pppSt_MachineInfo)[i]->tszMachineText, pptszResult[5]); + _tcsxcpy((*pppSt_MachineInfo)[i]->tszMachineSoftware, pptszResult[5]); } if (NULL != pptszResult[6]) { - (*pppSt_MachineInfo)[i]->nTimeNumber = _ttxoll(pptszResult[6]); + _tcsxcpy((*pppSt_MachineInfo)[i]->tszMachineHardware, pptszResult[6]); } if (NULL != pptszResult[7]) { - _tcsxcpy((*pppSt_MachineInfo)[i]->tszLastTime, pptszResult[7]); + (*pppSt_MachineInfo)[i]->nTimeNumber = _ttxoll(pptszResult[7]); } if (NULL != pptszResult[8]) { - _tcsxcpy((*pppSt_MachineInfo)[i]->tszCreateTime, pptszResult[8]); + _tcsxcpy((*pppSt_MachineInfo)[i]->tszLastTime, pptszResult[8]); + } + if (NULL != pptszResult[9]) + { + _tcsxcpy((*pppSt_MachineInfo)[i]->tszCreateTime, pptszResult[9]); } } DataBase_MySQL_FreeResult(xhDBSQL, xhTable); diff --git a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_ShortLink/ModuleDatabase_ShortLink.cpp b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_ShortLink/ModuleDatabase_ShortLink.cpp index 9a75e4dc..d8406730 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_ShortLink/ModuleDatabase_ShortLink.cpp +++ b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_ShortLink/ModuleDatabase_ShortLink.cpp @@ -92,10 +92,10 @@ bool CModuleDatabase_ShortLink::ModuleDatabase_ShortLink_Insert(XENGINE_SHORTLIN DBModule_dwErrorCode = ERROR_APISERVICE_MODULE_DATABASE_PARAMENT; return false; } - XCHAR tszSQLStatement[2024]; + XCHAR tszSQLStatement[8192]; memset(tszSQLStatement, '\0', sizeof(tszSQLStatement)); - _xstprintf(tszSQLStatement, _X("INSERT INTO `XEngine_ShortLink` (tszFullUrl,tszShortUrl,tszKeyUrl,tszMapUrl,tszCreateTime) VALUES('%s','%s','%s','%s','%s')"), pSt_SLinkInfo->tszFullUrl, pSt_SLinkInfo->tszShotUrl, pSt_SLinkInfo->tszKeyUrl, pSt_SLinkInfo->tszMapUrl, pSt_SLinkInfo->tszCreateTime); + _xsntprintf(tszSQLStatement, sizeof(tszSQLStatement), _X("INSERT INTO `XEngine_ShortLink` (tszFullUrl,tszShortUrl,tszKeyUrl,tszMapUrl,tszCreateTime) VALUES('%s','%s','%s','%s','%s')"), pSt_SLinkInfo->tszFullUrl, pSt_SLinkInfo->tszShotUrl, pSt_SLinkInfo->tszKeyUrl, pSt_SLinkInfo->tszMapUrl, pSt_SLinkInfo->tszCreateTime); if (!DataBase_MySQL_Execute(xhDBSQL, tszSQLStatement)) { DBModule_IsErrorOccur = true; @@ -135,7 +135,7 @@ bool CModuleDatabase_ShortLink::ModuleDatabase_ShortLink_Query(XENGINE_SHORTLINK XCHAR tszSQLStatement[1024]; memset(tszSQLStatement, '\0', sizeof(tszSQLStatement)); //名称为,消息名为必填 - _xstprintf(tszSQLStatement, _X("SELECT * FROM `XEngine_ShortLink` WHERE tszMapUrl = '%s'"), pSt_SLinkInfo->tszMapUrl); + _xsntprintf(tszSQLStatement, sizeof(tszSQLStatement), _X("SELECT * FROM `XEngine_ShortLink` WHERE tszMapUrl = '%s'"), pSt_SLinkInfo->tszMapUrl); if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszSQLStatement, &nllLine, &nllRow)) { DBModule_IsErrorOccur = true; diff --git a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.cpp b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.cpp index 44e17403..57e56dec 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.cpp +++ b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.cpp @@ -147,7 +147,7 @@ bool CModuleDatabase_XLog::ModuleDatabase_XLog_Insert(XENGINE_XLOGINFO* pSt_XLog XCHAR tszSQLStatement[11240]; memset(tszSQLStatement, '\0', sizeof(tszSQLStatement)); - _xstprintf(tszSQLStatement, _X("INSERT INTO `%s` (tszFileName,tszFuncName,nLogLine,nLogLevel,tszLogBuffer,tszLogTime) VALUES('%s','%s',%d,%d,'%s','%s')"), pSt_XLogInfo->tszTableName, pSt_XLogInfo->st_ProtocolLog.tszFileName, pSt_XLogInfo->st_ProtocolLog.tszFuncName, pSt_XLogInfo->st_ProtocolLog.nLogLine, pSt_XLogInfo->st_ProtocolLog.nLogLevel, pSt_XLogInfo->tszLogBuffer, pSt_XLogInfo->st_ProtocolLog.tszLogTimer); + _xsntprintf(tszSQLStatement, sizeof(tszSQLStatement), _X("INSERT INTO `%s` (tszFileName,tszFuncName,nLogLine,nLogLevel,tszLogBuffer,tszLogTime) VALUES('%s','%s',%d,%d,'%s','%s')"), pSt_XLogInfo->tszTableName, pSt_XLogInfo->st_ProtocolLog.tszFileName, pSt_XLogInfo->st_ProtocolLog.tszFuncName, pSt_XLogInfo->st_ProtocolLog.nLogLine, pSt_XLogInfo->st_ProtocolLog.nLogLevel, pSt_XLogInfo->tszLogBuffer, pSt_XLogInfo->st_ProtocolLog.tszLogTimer); #ifdef _MSC_BUILD XCHAR tszUTFStr[10240] = {}; diff --git a/XEngine_Source/XEngine_ModuleProtocol/Makefile b/XEngine_Source/XEngine_ModuleProtocol/Makefile index 8fc6ffaa..5d60fe2c 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/Makefile +++ b/XEngine_Source/XEngine_ModuleProtocol/Makefile @@ -2,9 +2,9 @@ CC = g++ -Wall -std=c++20 -fPIC PLATVER = FILEEXT = LIBFLAG = -LOADHDR = -I ./ -I ../XEngine_Depend/XEngine_Module/jsoncpp -LOADSO = -L ../XEngine_Depend/XEngine_Module/jsoncpp -LIB = -lXEngine_BaseLib -lNetHelp_XSocket -lXEngine_SystemApi -lNetHelp_APIAddr -ljsoncpp +LOADHDR = -I ./ -I ../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp +LOADSO = -L ../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp +LIB = -lXEngine_BaseLib -lNetHelp_APIAddr -ljsoncpp LIBEX = OBJECTS = ModuleProtocol_Packet.o ModuleProtocol_Parse.o pch.o diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h index 4dc35085..273e5178 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h @@ -724,44 +724,6 @@ extern "C" bool ModuleProtocol_Packet_EnumDevice(XCHAR* ptszMsgBuffer, int* pInt *********************************************************************/ extern "C" bool ModuleProtocol_Packet_ListFile(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XCHAR*** pppszFileList, int nListCount); /******************************************************************** -函数名称:ModuleProtocol_Packet_HardWare -函数功能:获取硬件信息 - 参数.一:ptszHWInfo - In/Out:Out - 类型:字符指针 - 可空:N - 意思:导出获取到的数据,这个数据是JSON格式 - 参数.二:pInt_Len - In/Out:Out - 类型:整数型指针 - 可空:N - 意思:导出数据的长度 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -extern "C" bool ModuleProtocol_Packet_HardWare(XCHAR* ptszHWInfo, int* pInt_Len); -/******************************************************************** -函数名称:XControl_Info_SoftWare -函数功能:获取软件系统信息 - 参数.一:ptszSWInfo - In/Out:Out - 类型:字符指针 - 可空:N - 意思:导出系统信息JSON结构 - 参数.二:pInt_Len - In/Out:Out - 类型:整数型指针 - 可空:N - 意思:导出系统信息长度 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -extern "C" bool ModuleProtocol_Packet_SoftWare(XCHAR* ptszSWInfo, int* pInt_Len); -/******************************************************************** 函数名称:ModuleProtocol_Packet_Machine 函数功能:机器信息列表打包函数 参数.一:ptszMsgBuffer @@ -886,6 +848,30 @@ extern "C" bool ModuleProtocol_Packet_IPAddr(XCHAR* ptszMSGBuffer, int* pInt_MSG 备注: *********************************************************************/ extern "C" bool ModuleProtocol_Packet_MacInfo(XCHAR* ptszMSGBuffer, int* pInt_MSGLen, XENGINE_MACADDRINFO* pSt_MacInfo); +/******************************************************************** +函数名称:ModuleProtocol_Packet_BackNotify +函数功能:后台服务通知协议 + 参数.一:ptszMsgBuffer + In/Out:Out + 类型:字符指针 + 可空:N + 意思:输出打好包的缓冲区 + 参数.二:pInt_MsgLen + In/Out:Out + 类型:整数型指针 + 可空:N + 意思:输出缓冲区大小 + 参数.三:nCode + In/Out:In + 类型:整数型 + 可空:N + 意思:输入返回的值 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +extern "C" bool ModuleProtocol_Packet_BackNotify(XCHAR* ptszMSGBuffer, int* pInt_MSGLen, int nCode, int nOPerator, LPCXSTR lpszSourceStr, LPCXSTR lpszDestStr, LPCXSTR lpszAPIStr); /************************************************************************/ /* 导出的协议解析函数 */ /************************************************************************/ @@ -1147,7 +1133,12 @@ extern "C" bool ModuleProtocol_Parse_WordFilter(LPCXSTR lpszMsgBuffer, int nMsgL 类型:字符指针 可空:N 意思:输出解析好的信息 - 参数.五:pInt_BSType + 参数.五:ptszAPIBuffer + In/Out:Out + 类型:字符指针 + 可空:N + 意思:输出反驳地址 + 参数.六:pInt_BSType In/Out:Out 类型:整数型指针 可空:N @@ -1157,7 +1148,7 @@ extern "C" bool ModuleProtocol_Parse_WordFilter(LPCXSTR lpszMsgBuffer, int nMsgL 意思:是否成功 备注:输出的内容具体参考协议文档 *********************************************************************/ -extern "C" bool ModuleProtocol_Parse_BackService(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR* ptszSrcBuffer = NULL, XCHAR* ptszDstBuffer = NULL, int* pInt_BSType = NULL); +extern "C" bool ModuleProtocol_Parse_BackService(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR* ptszSrcBuffer = NULL, XCHAR* ptszDstBuffer = NULL, XCHAR* ptszAPIBuffer = NULL, int* pInt_BSType = NULL); /******************************************************************** 函数名称:ModuleProtocol_Parse_Verifcation 函数功能:解析验证协议 diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp index 3f0cc364..36f2403f 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp @@ -1292,256 +1292,6 @@ bool CModuleProtocol_Packet::ModuleProtocol_Packet_ListFile(XCHAR* ptszMsgBuffer return true; } /******************************************************************** -函数名称:ModuleProtocol_Packet_HardWare -函数功能:获取硬件信息 - 参数.一:ptszHWInfo - In/Out:Out - 类型:字符指针 - 可空:N - 意思:导出获取到的数据,这个数据是JSON格式 - 参数.二:pInt_Len - In/Out:Out - 类型:整数型指针 - 可空:N - 意思:导出数据的长度 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -bool CModuleProtocol_Packet::ModuleProtocol_Packet_HardWare(XCHAR* ptszHWInfo, int* pInt_Len) -{ - ModuleProtocol_IsErrorOccur = false; - - if ((NULL == ptszHWInfo) || (NULL == pInt_Len)) - { - ModuleProtocol_IsErrorOccur = true; - ModuleProtocol_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_PROTOCOL_PARSE_PARAMENT; - return false; - } - int nDiskNumber = 0; - XCHAR** pptszRootName; - XCHAR tszOSName[XPATH_MAX]; - XCHAR tszOSVersion[XPATH_MAX]; - XCHAR tszOSBuild[XPATH_MAX]; - XLONG nOSPro = 0; - XCHAR tszOSInfo[2048]; - SYSTEMAPI_DISK_INFOMATION st_DiskInfo; - SYSTEMAPI_CPU_INFOMATION st_CPUInfo; - SYSTEMAPI_MEMORY_INFOMATION st_MemoryInfo; - SYSTEMAPI_SERIAL_INFOMATION st_SDKSerial; - - memset(tszOSName, '\0', sizeof(tszOSName)); - memset(tszOSVersion, '\0', sizeof(tszOSVersion)); - memset(tszOSBuild, '\0', sizeof(tszOSBuild)); - memset(tszOSInfo, '\0', sizeof(tszOSInfo)); - memset(&st_MemoryInfo, '\0', sizeof(SYSTEMAPI_MEMORY_INFOMATION)); - memset(&st_CPUInfo, '\0', sizeof(SYSTEMAPI_CPU_INFOMATION)); - memset(&st_DiskInfo, '\0', sizeof(SYSTEMAPI_DISK_INFOMATION)); - memset(&st_SDKSerial, '\0', sizeof(SYSTEMAPI_SERIAL_INFOMATION)); - - if (!SystemApi_HardWare_GetDiskNumber(&pptszRootName, &nDiskNumber)) - { - ModuleProtocol_IsErrorOccur = true; - ModuleProtocol_dwErrorCode = SystemApi_GetLastError(); - return false; - } - BaseLib_Memory_Free((XPPPMEM)&pptszRootName, nDiskNumber); - - XCHAR tszDriveStr[XPATH_MAX]; - memset(tszDriveStr, '\0', XPATH_MAX); - -#ifdef _MSC_BUILD - GetLogicalDriveStringsA(XPATH_MAX, tszDriveStr); -#else - LPCXSTR lpszDir = _X("/"); - strcpy(tszDriveStr, lpszDir); -#endif - - if (!SystemApi_HardWare_GetDiskInfomation(tszDriveStr, &st_DiskInfo, XENGINE_SYSTEMSDK_API_SYSTEM_SIZE_MB)) - { - ModuleProtocol_IsErrorOccur = true; - ModuleProtocol_dwErrorCode = SystemApi_GetLastError(); - return false; - } - if (!SystemApi_HardWare_GetCpuInfomation(&st_CPUInfo)) - { - ModuleProtocol_IsErrorOccur = true; - ModuleProtocol_dwErrorCode = SystemApi_GetLastError(); - return false; - } - if (!SystemApi_System_GetMemoryUsage(&st_MemoryInfo, XENGINE_SYSTEMSDK_API_SYSTEM_SIZE_MB)) - { - ModuleProtocol_IsErrorOccur = true; - ModuleProtocol_dwErrorCode = SystemApi_GetLastError(); - return false; - } - if (!SystemApi_HardWare_GetSerial(&st_SDKSerial)) - { - ModuleProtocol_IsErrorOccur = true; - ModuleProtocol_dwErrorCode = SystemApi_GetLastError(); - return false; - } - if (!SystemApi_System_GetSystemVer(tszOSName, tszOSVersion, tszOSBuild, &nOSPro)) - { - ModuleProtocol_IsErrorOccur = true; - ModuleProtocol_dwErrorCode = SystemApi_GetLastError(); - return false; - } - - Json::Value st_JsonRoot; - Json::Value st_JsonDisk; - Json::Value st_JsonCpu; - Json::Value st_JsonSerial; - Json::Value st_JsonMemory; - Json::Value st_JsonNetCard; - - st_JsonDisk["DiskNumber"] = nDiskNumber; - st_JsonDisk["DiskFree"] = (Json::UInt64)st_DiskInfo.dwDiskFree; - st_JsonDisk["DiskTotal"] = (Json::UInt64)st_DiskInfo.dwDiskTotal; - st_JsonDisk["DiskName"] = tszDriveStr; - - st_JsonCpu["CpuNumber"] = st_CPUInfo.nCPUNumber; - st_JsonCpu["CpuSpeed"] = st_CPUInfo.nCPUSpeed; - st_JsonCpu["CpuName"] = st_CPUInfo.tszCPUName; - - st_JsonMemory["MemoryFree"] = (Json::UInt64)st_MemoryInfo.dwMemory_Free; - st_JsonMemory["MemoryTotal"] = (Json::UInt64)st_MemoryInfo.dwMemory_Total; - - st_JsonSerial["DiskSerial"] = st_SDKSerial.tszDiskSerial; - st_JsonSerial["CpuSerial"] = st_SDKSerial.tszCPUSerial; - st_JsonSerial["BoardSerial"] = st_SDKSerial.tszBoardSerial; - st_JsonSerial["SystemSerial"] = st_SDKSerial.tszSystemSerial; - - int nListCount = 0; - XSOCKET_CARDINFO** ppSt_ListIFInfo; - XSocket_Api_GetCardInfo(&ppSt_ListIFInfo, &nListCount); - for (int i = 0; i < nListCount; i++) - { - Json::Value st_JsonIPAddr; - st_JsonIPAddr["tszIFName"] = ppSt_ListIFInfo[i]->tszIFName; - st_JsonIPAddr["tszIPAddr"] = ppSt_ListIFInfo[i]->tszIPAddr; - st_JsonIPAddr["tszBroadAddr"] = ppSt_ListIFInfo[i]->tszBroadAddr; - st_JsonIPAddr["tszDnsAddr"] = ppSt_ListIFInfo[i]->tszDnsAddr; - st_JsonIPAddr["tszMacAddr"] = ppSt_ListIFInfo[i]->tszMacAddr; - st_JsonNetCard.append(st_JsonIPAddr); - } - BaseLib_Memory_Free((XPPPMEM)&ppSt_ListIFInfo, nListCount); - - st_JsonRoot["Disk"] = st_JsonDisk; - st_JsonRoot["Cpu"] = st_JsonCpu; - st_JsonRoot["Memory"] = st_JsonMemory; - st_JsonRoot["Serial"] = st_JsonSerial; - st_JsonRoot["NetCard"] = st_JsonNetCard; - - sprintf(tszOSInfo, "%s %s %s %lu", tszOSName, tszOSVersion, tszOSBuild, nOSPro); - st_JsonRoot["Platfrom"] = tszOSInfo; - - *pInt_Len = st_JsonRoot.toStyledString().length(); - memcpy(ptszHWInfo, st_JsonRoot.toStyledString().c_str(), *pInt_Len); - - return true; -} -/******************************************************************** -函数名称:XControl_Info_SoftWare -函数功能:获取软件系统信息 - 参数.一:ptszSWInfo - In/Out:Out - 类型:字符指针 - 可空:N - 意思:导出系统信息JSON结构 - 参数.二:pInt_Len - In/Out:Out - 类型:整数型指针 - 可空:N - 意思:导出系统信息长度 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -bool CModuleProtocol_Packet::ModuleProtocol_Packet_SoftWare(XCHAR* ptszSWInfo, int* pInt_Len) -{ - ModuleProtocol_IsErrorOccur = false; - - if ((NULL == ptszSWInfo) || (NULL == pInt_Len)) - { - ModuleProtocol_IsErrorOccur = true; - ModuleProtocol_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_PROTOCOL_PARSE_PARAMENT; - return false; - } - int nProcessCount; - XLONG nOSProcessor; - XCHAR tszOSBuild[XPATH_MAX]; - XCHAR tszOSVersion[XPATH_MAX]; - XCHAR tszOSInfo[XPATH_MAX]; - XCHAR tszUPTime[XPATH_MAX]; - XCHAR tszOSUser[XPATH_MAX]; - XCHAR tszServicePacket[XPATH_MAX]; - XENGINE_LIBTIME st_LibTimer; - - memset(tszOSBuild, '\0', XPATH_MAX); - memset(tszOSVersion, '\0', XPATH_MAX); - memset(tszOSInfo, '\0', XPATH_MAX); - memset(tszUPTime, '\0', XPATH_MAX); - memset(tszOSUser, '\0', XPATH_MAX); - memset(tszServicePacket, '\0', XPATH_MAX); - memset(&st_LibTimer, '\0', sizeof(XENGINE_LIBTIME)); - -#ifdef _MSC_BUILD - XLONG dwMaxSize = XPATH_MAX; - if (!GetComputerNameA(tszOSUser, &dwMaxSize)) - { - ModuleProtocol_IsErrorOccur = true; - ModuleProtocol_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_PROTOCOL_PARSE_GETNAME; - return false; - } -#else - struct passwd* pSt_Passwd = NULL; - pSt_Passwd = getpwuid(getuid()); - if (NULL == pSt_Passwd) - { - ModuleProtocol_IsErrorOccur = true; - ModuleProtocol_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_PROTOCOL_PARSE_GETNAME; - return false; - } - strcpy(tszOSUser, pSt_Passwd->pw_name); -#endif - if (!SystemApi_System_GetSystemVer(tszOSInfo, tszOSVersion, tszOSBuild, &nOSProcessor)) - { - ModuleProtocol_IsErrorOccur = true; - ModuleProtocol_dwErrorCode = SystemApi_GetLastError(); - return false; - } - if (!SystemApi_System_GetProcessCount(&nProcessCount)) - { - ModuleProtocol_IsErrorOccur = true; - ModuleProtocol_dwErrorCode = SystemApi_GetLastError(); - return false; - } - if (!SystemApi_System_GetUpTime(&st_LibTimer)) - { - ModuleProtocol_IsErrorOccur = true; - ModuleProtocol_dwErrorCode = SystemApi_GetLastError(); - return false; - } - sprintf(tszUPTime, "%04d-%02d-%02d %02d:%02d:%02d", st_LibTimer.wYear, st_LibTimer.wMonth, st_LibTimer.wDay, st_LibTimer.wHour, st_LibTimer.wMinute, st_LibTimer.wSecond); - - Json::Value st_JsonRoot; - Json::Value st_JsonSystem; - - st_JsonSystem["OSUser"] = tszOSUser; - st_JsonSystem["OSUPTime"] = tszUPTime; - st_JsonSystem["OSVersion"] = tszOSInfo; - st_JsonSystem["OSProcessCount"] = nProcessCount; - st_JsonRoot["OSInfo"] = st_JsonSystem; - - *pInt_Len = st_JsonRoot.toStyledString().length(); - memcpy(ptszSWInfo, st_JsonRoot.toStyledString().c_str(), *pInt_Len); - - return true; -} -/******************************************************************** 函数名称:ModuleProtocol_Packet_Machine 函数功能:机器信息列表打包函数 参数.一:ptszMsgBuffer @@ -1587,7 +1337,8 @@ bool CModuleProtocol_Packet::ModuleProtocol_Packet_Machine(XCHAR* ptszMSGBuffer, { Json::Value st_JsonObject; - st_JsonObject["tszMachineText"] = (*pppSt_MachineList)[i]->tszMachineText; + st_JsonObject["tszMachineSoftware"] = (*pppSt_MachineList)[i]->tszMachineSoftware; + st_JsonObject["tszMachineHardware"] = (*pppSt_MachineList)[i]->tszMachineHardware; st_JsonObject["tszMachineName"] = (*pppSt_MachineList)[i]->tszMachineName; st_JsonObject["tszMachineUser"] = (*pppSt_MachineList)[i]->tszMachineUser; st_JsonObject["tszMachineCode"] = (*pppSt_MachineList)[i]->tszMachineCode; @@ -1823,6 +1574,57 @@ bool CModuleProtocol_Packet::ModuleProtocol_Packet_MacInfo(XCHAR* ptszMSGBuffer, return true; } /******************************************************************** +函数名称:ModuleProtocol_Packet_BackNotify +函数功能:后台服务通知协议 + 参数.一:ptszMsgBuffer + In/Out:Out + 类型:字符指针 + 可空:N + 意思:输出打好包的缓冲区 + 参数.二:pInt_MsgLen + In/Out:Out + 类型:整数型指针 + 可空:N + 意思:输出缓冲区大小 + 参数.三:nCode + In/Out:In + 类型:整数型 + 可空:N + 意思:输入返回的值 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +bool CModuleProtocol_Packet::ModuleProtocol_Packet_BackNotify(XCHAR* ptszMSGBuffer, int* pInt_MSGLen, int nCode, int nOPerator, LPCXSTR lpszSourceStr, LPCXSTR lpszDestStr, LPCXSTR lpszAPIStr) +{ + ModuleProtocol_IsErrorOccur = false; + + if ((NULL == ptszMSGBuffer) || (NULL == pInt_MSGLen)) + { + ModuleProtocol_IsErrorOccur = true; + ModuleProtocol_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_PROTOCOL_PACKET_PARAMENT; + return false; + } + Json::Value st_JsonRoot; + Json::Value st_JsonObject; + Json::StreamWriterBuilder st_JsonBuilder; + + st_JsonObject["nOPerator"] = nOPerator; + st_JsonObject["lpszSourceStr"] = lpszSourceStr; + st_JsonObject["lpszDestStr"] = lpszDestStr; + st_JsonObject["lpszAPIStr"] = lpszAPIStr; + + st_JsonRoot["code"] = nCode; + st_JsonRoot["data"] = st_JsonObject; + st_JsonBuilder["emitUTF8"] = true; + + *pInt_MSGLen = Json::writeString(st_JsonBuilder, st_JsonRoot).length(); + memcpy(ptszMSGBuffer, Json::writeString(st_JsonBuilder, st_JsonRoot).c_str(), *pInt_MSGLen); + + return true; +} +/******************************************************************** 函数名称:ModuleProtocol_Packet_P2PLan 函数功能:响应同步局域网地址列表 参数.一:ptszMsgBuffer diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h index 9e78d493..832b66f7 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h @@ -42,13 +42,12 @@ class CModuleProtocol_Packet bool ModuleProtocol_Packet_ImageText(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XCHAR*** pppListStr, int nListCount); bool ModuleProtocol_Packet_EnumDevice(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, AVHELP_DEVICEINFO*** pppSt_AudioList, AVHELP_DEVICEINFO*** pppSt_VideoList, int nACount, int nVCount); bool ModuleProtocol_Packet_ListFile(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XCHAR*** pppszFileList, int nListCount); - bool ModuleProtocol_Packet_HardWare(XCHAR* ptszHWInfo, int* pInt_Len); - bool ModuleProtocol_Packet_SoftWare(XCHAR* ptszSWInfo, int* pInt_Len); bool ModuleProtocol_Packet_Machine(XCHAR* ptszMSGBuffer, int* pInt_MSGLen, XENGINE_MACHINEINFO*** pppSt_MachineList, int nListCount); bool ModuleProtocol_Packet_OilInfo(XCHAR* ptszMSGBuffer, int* pInt_MSGLen, XENGINE_OILINFO* pSt_OilInfo); bool ModuleProtocol_Packet_PhoneInfo(XCHAR* ptszMSGBuffer, int* pInt_MSGLen, XENGINE_PHONEINFO* pSt_PhoneInfo); bool ModuleProtocol_Packet_IPAddr(XCHAR* ptszMSGBuffer, int* pInt_MSGLen, XENGINE_IPADDRINFO* pSt_IPAddrInfo); bool ModuleProtocol_Packet_MacInfo(XCHAR* ptszMSGBuffer, int* pInt_MSGLen, XENGINE_MACADDRINFO* pSt_MacInfo); + bool ModuleProtocol_Packet_BackNotify(XCHAR* ptszMSGBuffer, int* pInt_MSGLen, int nCode,int nOPerator, LPCXSTR lpszSourceStr, LPCXSTR lpszDestStr, LPCXSTR lpszAPIStr); public: bool ModuleProtocol_Packet_P2PLan(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_P2XPPEER_PROTOCOL*** pppSt_ListClients, int nListCount); bool ModuleProtocol_Packet_P2PWLan(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, list* pStl_ListClients); diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.cpp b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.cpp index 9f237d21..084e2d04 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.cpp +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.cpp @@ -780,7 +780,12 @@ bool CModuleProtocol_Parse::ModuleProtocol_Parse_WordFilter(LPCXSTR lpszMsgBuffe 类型:字符指针 可空:N 意思:输出解析好的信息 - 参数.五:pInt_BSType + 参数.五:ptszAPIBuffer + In/Out:Out + 类型:字符指针 + 可空:N + 意思:输出反驳地址 + 参数.六:pInt_BSType In/Out:Out 类型:整数型指针 可空:N @@ -790,7 +795,7 @@ bool CModuleProtocol_Parse::ModuleProtocol_Parse_WordFilter(LPCXSTR lpszMsgBuffe 意思:是否成功 备注:输出的内容具体参考协议文档 *********************************************************************/ -bool CModuleProtocol_Parse::ModuleProtocol_Parse_BackService(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR* ptszSrcBuffer, XCHAR* ptszDstBuffer, int* pInt_BSType) +bool CModuleProtocol_Parse::ModuleProtocol_Parse_BackService(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR* ptszSrcBuffer, XCHAR* ptszDstBuffer, XCHAR* ptszAPIBuffer, int* pInt_BSType) { ModuleProtocol_IsErrorOccur = false; @@ -826,6 +831,13 @@ bool CModuleProtocol_Parse::ModuleProtocol_Parse_BackService(LPCXSTR lpszMsgBuff _tcsxcpy(ptszDstBuffer, st_JsonRoot["tszDstBuffer"].asCString()); } } + if (!st_JsonRoot["tszAPIBuffer"].isNull()) + { + if (NULL != ptszAPIBuffer) + { + _tcsxcpy(ptszAPIBuffer, st_JsonRoot["tszAPIBuffer"].asCString()); + } + } if (!st_JsonRoot["nBSType"].isNull()) { if (NULL != pInt_BSType) @@ -1154,10 +1166,23 @@ bool CModuleProtocol_Parse::ModuleProtocol_Parse_Machine(LPCXSTR lpszMsgBuffer, { _tcsxcpy(pSt_MachineInfo->tszMachineSystem, st_JsonRoot["tszMachineSystem"].asCString()); } - if (!st_JsonRoot["tszMachineText"].isNull()) + //to do + if (st_JsonRoot["tszMachineText"].isNull()) + { + if (!st_JsonRoot["tszMachineSoftware"].isNull()) + { + _tcsxcpy(pSt_MachineInfo->tszMachineSoftware, st_JsonRoot["tszMachineSoftware"].asCString()); + } + if (!st_JsonRoot["tszMachineHardware"].isNull()) + { + _tcsxcpy(pSt_MachineInfo->tszMachineHardware, st_JsonRoot["tszMachineHardware"].asCString()); + } + } + else { - _tcsxcpy(pSt_MachineInfo->tszMachineText, st_JsonRoot["tszMachineText"].asCString()); + _tcsxcpy(pSt_MachineInfo->tszMachineSoftware, st_JsonRoot["tszMachineText"].asCString()); } + return true; } /******************************************************************** diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.h b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.h index a5ae7a11..7ebf228f 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.h +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.h @@ -28,7 +28,7 @@ class CModuleProtocol_Parse bool ModuleProtocol_Parse_SocketTest(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_SOCKETTEST* pSt_SocketTest); bool ModuleProtocol_Parse_ShortLink(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_SHORTLINK* pSt_ShortLink); bool ModuleProtocol_Parse_WordFilter(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_WORDFILTER* pSt_WordFilter); - bool ModuleProtocol_Parse_BackService(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR* ptszSrcBuffer = NULL, XCHAR* ptszDstBuffer = NULL, int* pInt_BSType = NULL); + bool ModuleProtocol_Parse_BackService(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR* ptszSrcBuffer = NULL, XCHAR* ptszDstBuffer = NULL, XCHAR* ptszAPIBuffer = NULL, int* pInt_BSType = NULL); bool ModuleProtocol_Parse_Verifcation(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR* ptszUserName, XCHAR* ptszUserPass); bool ModuleProtocol_Parse_Deamon(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR* ptszAPPName, XCHAR* ptszAPPPath, int* pInt_Retime, int* pInt_ReNumber, bool* pbEnable); bool ModuleProtocol_Parse_Weather(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_WEATHERINFO* pSt_WeatherInfo); diff --git a/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def b/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def index 4c3350d4..86952f3b 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def +++ b/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def @@ -23,13 +23,12 @@ EXPORTS ModuleProtocol_Packet_ImageText ModuleProtocol_Packet_EnumDevice ModuleProtocol_Packet_ListFile - ModuleProtocol_Packet_HardWare - ModuleProtocol_Packet_SoftWare ModuleProtocol_Packet_Machine ModuleProtocol_Packet_OilInfo ModuleProtocol_Packet_PhoneInfo ModuleProtocol_Packet_IPAddr ModuleProtocol_Packet_MacInfo + ModuleProtocol_Packet_BackNotify ModuleProtocol_Packet_P2PLan ModuleProtocol_Packet_P2PWLan ModuleProtocol_Packet_P2PWList diff --git a/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.vcxproj b/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.vcxproj index 99c61f33..6bdd4361 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.vcxproj +++ b/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.vcxproj @@ -99,32 +99,32 @@ true - $(XEngine_Include);../XEngine_Depend/XEngine_Module/jsoncpp;..\XEngine_ModuleProtocol;$(IncludePath) + $(XEngine_Include);../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;..\XEngine_ModuleProtocol;$(IncludePath) $(XEngine_Lib32);$(LibraryPath) false - $(XEngine_Include);../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_Lib32);$(LibraryPath) true - $(XEngine_Include);../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_Lib64);$(LibraryPath) true - $(XEngine_Include);../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_LibArm64);$(LibraryPath) false - $(XEngine_Include);../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_Lib64);$(LibraryPath) false - $(XEngine_Include);../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_LibArm64);$(LibraryPath) diff --git a/XEngine_Source/XEngine_ModuleProtocol/pch.cpp b/XEngine_Source/XEngine_ModuleProtocol/pch.cpp index cc258dae..925217b3 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/pch.cpp +++ b/XEngine_Source/XEngine_ModuleProtocol/pch.cpp @@ -111,14 +111,6 @@ extern "C" bool ModuleProtocol_Packet_ListFile(XCHAR * ptszMsgBuffer, int* pInt_ { return m_ProtocolPacket.ModuleProtocol_Packet_ListFile(ptszMsgBuffer, pInt_MsgLen, pppszFileList, nListCount); } -extern "C" bool ModuleProtocol_Packet_HardWare(XCHAR * ptszHWInfo, int* pInt_Len) -{ - return m_ProtocolPacket.ModuleProtocol_Packet_HardWare(ptszHWInfo, pInt_Len); -} -extern "C" bool ModuleProtocol_Packet_SoftWare(XCHAR * ptszSWInfo, int* pInt_Len) -{ - return m_ProtocolPacket.ModuleProtocol_Packet_SoftWare(ptszSWInfo, pInt_Len); -} extern "C" bool ModuleProtocol_Packet_Machine(XCHAR * ptszMSGBuffer, int* pInt_MSGLen, XENGINE_MACHINEINFO * **pppSt_MachineList, int nListCount) { return m_ProtocolPacket.ModuleProtocol_Packet_Machine(ptszMSGBuffer, pInt_MSGLen, pppSt_MachineList, nListCount); @@ -139,6 +131,10 @@ extern "C" bool ModuleProtocol_Packet_MacInfo(XCHAR* ptszMSGBuffer, int* pInt_MS { return m_ProtocolPacket.ModuleProtocol_Packet_MacInfo(ptszMSGBuffer, pInt_MSGLen, pSt_MacInfo); } +extern "C" bool ModuleProtocol_Packet_BackNotify(XCHAR* ptszMSGBuffer, int* pInt_MSGLen, int nCode, int nOPerator, LPCXSTR lpszSourceStr, LPCXSTR lpszDestStr, LPCXSTR lpszAPIStr) +{ + return m_ProtocolPacket.ModuleProtocol_Packet_BackNotify(ptszMSGBuffer, pInt_MSGLen, nCode, nOPerator, lpszSourceStr, lpszDestStr, lpszAPIStr); +} extern "C" bool ModuleProtocol_Packet_P2PLan(XCHAR * ptszMsgBuffer, int* pInt_MsgLen, XENGINE_P2XPPEER_PROTOCOL * **pppSt_ListClients, int nListCount) { return m_ProtocolPacket.ModuleProtocol_Packet_P2PLan(ptszMsgBuffer, pInt_MsgLen, pppSt_ListClients, nListCount); @@ -194,9 +190,9 @@ extern "C" bool ModuleProtocol_Parse_WordFilter(LPCXSTR lpszMsgBuffer, int nMsgL { return m_ProtocolParse.ModuleProtocol_Parse_WordFilter(lpszMsgBuffer, nMsgLen, pSt_WordFilter); } -extern "C" bool ModuleProtocol_Parse_BackService(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR * ptszSrcBuffer, XCHAR * ptszDstBuffer, int* pInt_BSType) +extern "C" bool ModuleProtocol_Parse_BackService(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR * ptszSrcBuffer, XCHAR * ptszDstBuffer, XCHAR* ptszAPIBuffer, int* pInt_BSType) { - return m_ProtocolParse.ModuleProtocol_Parse_BackService(lpszMsgBuffer, nMsgLen, ptszSrcBuffer, ptszDstBuffer, pInt_BSType); + return m_ProtocolParse.ModuleProtocol_Parse_BackService(lpszMsgBuffer, nMsgLen, ptszSrcBuffer, ptszDstBuffer, ptszAPIBuffer, pInt_BSType); } extern "C" bool ModuleProtocol_Parse_Verifcation(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR * ptszUserName, XCHAR * ptszUserPass) { diff --git a/XEngine_Source/XEngine_ModuleProtocol/pch.h b/XEngine_Source/XEngine_ModuleProtocol/pch.h index 3f30b460..4421c49c 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/pch.h +++ b/XEngine_Source/XEngine_ModuleProtocol/pch.h @@ -27,18 +27,14 @@ #include #include #include -#include -#include #include #include #include -#include -#include #include #include #include -#include "../../../XEngine_DBDepend/XEngine_IPMacData/XEngine_Source/XIPMac_CommHdr.h" -#include "../../../XEngine_DBDepend/XEngine_PhoneData/Source/XPhone_CommHdr.h" +#include "../XEngine_DependLibrary/XEngine_IPMacData/XEngine_Source/XIPMac_CommHdr.h" +#include "../XEngine_DependLibrary/XEngine_PhoneData/Source/XPhone_CommHdr.h" using namespace std; #include "../XEngine_UserProtocol.h" #include "ModuleProtocol_Define.h" @@ -60,9 +56,7 @@ extern XLONG ModuleProtocol_dwErrorCode; #ifdef _MSC_BUILD #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_XSocket") #pragma comment(lib,"XEngine_NetHelp/NetHelp_APIAddr") -#pragma comment(lib,"XEngine_SystemSdk/XEngine_SystemApi") #ifdef _DEBUG #ifdef _M_X64 #pragma comment(lib,"../x64/Debug/jsoncpp") diff --git a/XEngine_Source/XEngine_PluginModule/ModulePlugin_BMIndex/Makefile b/XEngine_Source/XEngine_PluginModule/ModulePlugin_BMIndex/Makefile index 756b856e..634fd97e 100644 --- a/XEngine_Source/XEngine_PluginModule/ModulePlugin_BMIndex/Makefile +++ b/XEngine_Source/XEngine_PluginModule/ModulePlugin_BMIndex/Makefile @@ -2,8 +2,8 @@ CC = g++ -Wall -std=c++20 -fPIC PLATVER = FILEEXT = LIBFLAG = -LOADHDR = -I ./ -I ../../XEngine_Depend/XEngine_Module/jsoncpp -LOADSO = -L ../../XEngine_Depend/XEngine_Module/jsoncpp +LOADHDR = -I ./ -I ../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp +LOADSO = -L ../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp LIB = -lXEngine_BaseLib -ljsoncpp LIBEX = OBJECTS = Plugin_BMIndex.o pch.o diff --git a/XEngine_Source/XEngine_PluginModule/ModulePlugin_BMIndex/ModulePlugin_BMIndex.vcxproj b/XEngine_Source/XEngine_PluginModule/ModulePlugin_BMIndex/ModulePlugin_BMIndex.vcxproj index f1168ceb..8f927bde 100644 --- a/XEngine_Source/XEngine_PluginModule/ModulePlugin_BMIndex/ModulePlugin_BMIndex.vcxproj +++ b/XEngine_Source/XEngine_PluginModule/ModulePlugin_BMIndex/ModulePlugin_BMIndex.vcxproj @@ -100,37 +100,37 @@ $(SolutionDir)$(Configuration)\XEngine_LibPlugin\ - ../../XEngine_Depend/XEngine_Module/jsoncpp;$(XEngine_Include);$(IncludePath) + ../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(XEngine_Include);$(IncludePath) $(XEngine_Lib32);$(LibraryPath) $(Configuration)\XEngine_LibPlugin\ $(ProjectName) - $(XEngine_Include);../../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_Lib32);$(LibraryPath) $(SolutionDir)$(Configuration)\XEngine_LibPlugin\ $(Configuration)\XEngine_LibPlugin\ - $(XEngine_Include);../../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_Lib64);$(LibraryPath) $(SolutionDir)$(Platform)\$(Configuration)\XEngine_LibPlugin\ $(Platform)\$(Configuration)\XEngine_LibPlugin\ - $(XEngine_Include);../../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_LibArm64);$(LibraryPath) $(SolutionDir)$(Platform)\$(Configuration)\XEngine_LibPlugin\ $(Platform)\$(Configuration)\XEngine_LibPlugin\ - $(XEngine_Include);../../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_Lib64);$(LibraryPath) $(SolutionDir)$(Platform)\$(Configuration)\XEngine_LibPlugin\ $(Platform)\$(Configuration)\XEngine_LibPlugin\ - $(XEngine_Include);../../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_LibArm64);$(LibraryPath) $(SolutionDir)$(Platform)\$(Configuration)\XEngine_LibPlugin\ $(Platform)\$(Configuration)\XEngine_LibPlugin\ diff --git a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Meter/Makefile b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Meter/Makefile index 08c62706..f47acd8f 100644 --- a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Meter/Makefile +++ b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Meter/Makefile @@ -2,8 +2,8 @@ CC = g++ -Wall -std=c++20 -fPIC PLATVER = FILEEXT = LIBFLAG = -LOADHDR = -I ./ -I ../../XEngine_Depend/XEngine_Module/jsoncpp -LOADSO = -L ../../XEngine_Depend/XEngine_Module/jsoncpp +LOADHDR = -I ./ -I ../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp +LOADSO = -L ../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp LIB = -lXEngine_BaseLib -ljsoncpp LIBEX = OBJECTS = Plugin_Meter.o pch.o diff --git a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Meter/ModulePlugin_Meter.vcxproj b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Meter/ModulePlugin_Meter.vcxproj index 3ad25621..94193f02 100644 --- a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Meter/ModulePlugin_Meter.vcxproj +++ b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Meter/ModulePlugin_Meter.vcxproj @@ -101,37 +101,37 @@ $(SolutionDir)$(Configuration)\XEngine_LibPlugin\ $(Configuration)\XEngine_LibPlugin\ - $(XEngine_Include);../../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_Lib32);$(LibraryPath) $(SolutionDir)$(Configuration)\XEngine_LibPlugin\ $(Configuration)\XEngine_LibPlugin\ - $(XEngine_Include);../../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_Lib32);$(LibraryPath) $(SolutionDir)$(Platform)\$(Configuration)\XEngine_LibPlugin\ $(Platform)\$(Configuration)\XEngine_LibPlugin\ - $(XEngine_Include);../../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_Lib64);$(LibraryPath) $(SolutionDir)$(Platform)\$(Configuration)\XEngine_LibPlugin\ $(Platform)\$(Configuration)\XEngine_LibPlugin\ - $(XEngine_Include);../../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_LibArm64);$(LibraryPath) $(SolutionDir)$(Platform)\$(Configuration)\XEngine_LibPlugin\ $(Platform)\$(Configuration)\XEngine_LibPlugin\ - $(XEngine_Include);../../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_Lib64);$(LibraryPath) $(SolutionDir)$(Platform)\$(Configuration)\XEngine_LibPlugin\ $(Platform)\$(Configuration)\XEngine_LibPlugin\ - $(XEngine_Include);../../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_LibArm64);$(LibraryPath) diff --git a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Password/Makefile b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Password/Makefile index 0901e4b9..3749ff3d 100644 --- a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Password/Makefile +++ b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Password/Makefile @@ -2,8 +2,8 @@ CC = g++ -Wall -std=c++20 -fPIC PLATVER = FILEEXT = LIBFLAG = -LOADHDR = -I ./ -I ../../XEngine_Depend/XEngine_Module/jsoncpp -LOADSO = -L ../../XEngine_Depend/XEngine_Module/jsoncpp +LOADHDR = -I ./ -I ../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp +LOADSO = -L ../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp LIB = -lXEngine_BaseLib -ljsoncpp LIBEX = OBJECTS = Plugin_Password.o pch.o diff --git a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Password/ModulePlugin_Password.vcxproj b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Password/ModulePlugin_Password.vcxproj index 2a318e84..6354ba6a 100644 --- a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Password/ModulePlugin_Password.vcxproj +++ b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Password/ModulePlugin_Password.vcxproj @@ -101,41 +101,41 @@ true $(SolutionDir)$(Configuration)\XEngine_LibPlugin\ - $(XEngine_Include);../../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_Lib32);$(LibraryPath) $(Configuration)\XEngine_LibPlugin\ false - $(XEngine_Include);../../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_Lib32);$(LibraryPath) $(SolutionDir)$(Configuration)\XEngine_LibPlugin\ $(Configuration)\XEngine_LibPlugin\ true - $(XEngine_Include);../../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_Lib64);$(LibraryPath) $(SolutionDir)$(Platform)\$(Configuration)\XEngine_LibPlugin\ $(Platform)\$(Configuration)\XEngine_LibPlugin\ true - $(XEngine_Include);../../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_LibArm64);$(LibraryPath) $(SolutionDir)$(Platform)\$(Configuration)\XEngine_LibPlugin\ $(Platform)\$(Configuration)\XEngine_LibPlugin\ false - $(XEngine_Include);../../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_Lib64);$(LibraryPath) $(SolutionDir)$(Platform)\$(Configuration)\XEngine_LibPlugin\ $(Platform)\$(Configuration)\XEngine_LibPlugin\ false - $(XEngine_Include);../../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_LibArm64);$(LibraryPath) $(SolutionDir)$(Platform)\$(Configuration)\XEngine_LibPlugin\ $(Platform)\$(Configuration)\XEngine_LibPlugin\ diff --git a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Timezone/Makefile b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Timezone/Makefile index d962111b..04285d49 100644 --- a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Timezone/Makefile +++ b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Timezone/Makefile @@ -2,8 +2,8 @@ CC = g++ -Wall -std=c++20 -fPIC PLATVER = FILEEXT = LIBFLAG = -LOADHDR = -I ./ -I ../../XEngine_Depend/XEngine_Module/jsoncpp -LOADSO = -L ../../XEngine_Depend/XEngine_Module/jsoncpp +LOADHDR = -I ./ -I ../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp +LOADSO = -L ../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp LIB = -lXEngine_BaseLib -ljsoncpp LIBEX = OBJECTS = Plugin_Timezone.o pch.o diff --git a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Timezone/ModulePlugin_Timezone.vcxproj b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Timezone/ModulePlugin_Timezone.vcxproj index d0024020..71ee7274 100644 --- a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Timezone/ModulePlugin_Timezone.vcxproj +++ b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Timezone/ModulePlugin_Timezone.vcxproj @@ -99,37 +99,37 @@ - $(XEngine_Include);../../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_Lib32);$(LibraryPath) $(SolutionDir)$(Configuration)\XEngine_LibPlugin\ $(Configuration)\XEngine_LibPlugin\ - $(XEngine_Include);../../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_Lib32);$(LibraryPath) $(SolutionDir)$(Configuration)\XEngine_LibPlugin\ $(Configuration)\XEngine_LibPlugin\ - $(XEngine_Include);../../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_Lib64);$(LibraryPath) $(SolutionDir)$(Platform)\$(Configuration)\XEngine_LibPlugin\ $(Platform)\$(Configuration)\XEngine_LibPlugin\ - $(XEngine_Include);../../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_LibArm64);$(LibraryPath) $(SolutionDir)$(Platform)\$(Configuration)\XEngine_LibPlugin\ $(Platform)\$(Configuration)\XEngine_LibPlugin\ - $(XEngine_Include);../../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_Lib64);$(LibraryPath) $(SolutionDir)$(Platform)\$(Configuration)\XEngine_LibPlugin\ $(Platform)\$(Configuration)\XEngine_LibPlugin\ - $(XEngine_Include);../../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_LibArm64);$(LibraryPath) $(SolutionDir)$(Platform)\$(Configuration)\XEngine_LibPlugin\ $(Platform)\$(Configuration)\XEngine_LibPlugin\ diff --git a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Zodiac/Makefile b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Zodiac/Makefile index f0c84790..7991e0cc 100644 --- a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Zodiac/Makefile +++ b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Zodiac/Makefile @@ -2,8 +2,8 @@ CC = g++ -Wall -std=c++20 -fPIC PLATVER = FILEEXT = LIBFLAG = -LOADHDR = -I ./ -I ../../XEngine_Depend/XEngine_Module/jsoncpp -LOADSO = -L ../../XEngine_Depend/XEngine_Module/jsoncpp +LOADHDR = -I ./ -I ../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp +LOADSO = -L ../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp LIB = -lXEngine_BaseLib -lXEngine_Algorithm -ljsoncpp LIBEX = OBJECTS = Plugin_Zodiac.o pch.o diff --git a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Zodiac/ModulePlugin_Zodiac.vcxproj b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Zodiac/ModulePlugin_Zodiac.vcxproj index 4f0ffcf6..09ed645b 100644 --- a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Zodiac/ModulePlugin_Zodiac.vcxproj +++ b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Zodiac/ModulePlugin_Zodiac.vcxproj @@ -102,40 +102,40 @@ true $(Configuration)\XEngine_LibPlugin\ $(SolutionDir)$(Configuration)\XEngine_LibPlugin\ - $(XEngine_Include);../../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_Lib32);$(LibraryPath) false - $(XEngine_Include);../../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_Lib32);$(LibraryPath) $(SolutionDir)$(Configuration)\XEngine_LibPlugin\ $(Configuration)\XEngine_LibPlugin\ true - $(XEngine_Include);../../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_Lib64);$(LibraryPath) $(SolutionDir)$(Platform)\$(Configuration)\XEngine_LibPlugin\ $(Platform)\$(Configuration)\XEngine_LibPlugin\ true - $(XEngine_Include);../../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_LibArm64);$(LibraryPath) $(SolutionDir)$(Platform)\$(Configuration)\XEngine_LibPlugin\ $(Platform)\$(Configuration)\XEngine_LibPlugin\ false - $(XEngine_Include);../../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_Lib64);$(LibraryPath) $(SolutionDir)$(Platform)\$(Configuration)\XEngine_LibPlugin\ $(Platform)\$(Configuration)\XEngine_LibPlugin\ false - $(XEngine_Include);../../XEngine_Depend/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp;$(IncludePath) $(XEngine_LibArm64);$(LibraryPath) $(SolutionDir)$(Platform)\$(Configuration)\XEngine_LibPlugin\ $(Platform)\$(Configuration)\XEngine_LibPlugin\ diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/Makefile b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/Makefile index 30a25655..04771ee8 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/Makefile +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/Makefile @@ -4,8 +4,8 @@ FILEEXT = LIBFLAG = LOADHDR = -I ./ LOADSO = -L ../../XEngine_ModuleConfigure -L ../../XEngine_ModuleDatabase -L ../../XEngine_ModuleProtocol -L ../../XEngine_ModuleSystem -L ../../XEngine_ModuleHelp -L ../../XEngine_ModulePlugin \ - -L ../../XEngine_Depend/XEngine_Module/jsoncpp -L ../../XEngine_Depend/XEngine_Module/XEngine_InfoReport \ - -L ../../XEngine_DBDepend/XEngine_IPMacData/XEngine_Source/XEngine_APIModuleIPMac -L ../../XEngine_DBDepend/XEngine_PhoneData/Source/C/XEngine_APIModulePhone + -L ../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/jsoncpp -L ../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/XEngine_InfoReport \ + -L ../../XEngine_DependLibrary/XEngine_IPMacData/XEngine_Source/XEngine_APIModuleIPMac -L ../../XEngine_DependLibrary/XEngine_PhoneData/Source/C/XEngine_APIModulePhone LIB = -lXEngine_BaseSafe -lXEngine_BaseLib -lXEngine_Algorithm -lXEngine_Core -lXEngine_ManagePool -lXEngine_Cryption -lXClient_Stream -lXClient_APIHelp -lNetHelp_APIAddr -lHelpComponents_XLog -lRfcComponents_HttpProtocol -lRfcComponents_NatProtocol -lRfcComponents_NTPProtocol -lXEngine_ProcFile -lXEngine_SystemApi -lXEngine_AVHelp -lXEngine_VideoCodec -lXEngine_AudioCodec -lXEngine_AVCollect \ -lXEngine_ModuleConfigure -lXEngine_ModuleDatabase -lXEngine_ModuleProtocol -lXEngine_ModuleSystem -lXEngine_ModuleHelp -lXEngine_ModulePlugin \ -ljsoncpp -lXEngine_InfoReport \ diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h index 877902b3..97422eda 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h @@ -61,14 +61,14 @@ using namespace std; #include #include #include -#include "../../XEngine_Depend/XEngine_Module/XEngine_InfoReport/InfoReport_Define.h" -#include "../../XEngine_Depend/XEngine_Module/XEngine_InfoReport/InfoReport_Error.h" -#include "../../XEngine_DBDepend/XEngine_IPMacData/XEngine_Source/XIPMac_CommHdr.h" -#include "../../XEngine_DBDepend/XEngine_IPMacData/XEngine_Source/XEngine_APIModuleIPMac/APIIPMac_Define.h" -#include "../../XEngine_DBDepend/XEngine_IPMacData/XEngine_Source/XEngine_APIModuleIPMac/APIIPMac_Error.h" -#include "../../XEngine_DBDepend/XEngine_PhoneData/Source/XPhone_CommHdr.h" -#include "../../XEngine_DBDepend/XEngine_PhoneData/Source/C/XEngine_APIModulePhone/APIPhone_Define.h" -#include "../../XEngine_DBDepend/XEngine_PhoneData/Source/C/XEngine_APIModulePhone/APIPhone_Error.h" +#include "../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/XEngine_InfoReport/InfoReport_Define.h" +#include "../../XEngine_DependLibrary/XEngine_OPenSource/XEngine_Module/XEngine_InfoReport/InfoReport_Error.h" +#include "../../XEngine_DependLibrary/XEngine_IPMacData/XEngine_Source/XIPMac_CommHdr.h" +#include "../../XEngine_DependLibrary/XEngine_IPMacData/XEngine_Source/XEngine_APIModuleIPMac/APIIPMac_Define.h" +#include "../../XEngine_DependLibrary/XEngine_IPMacData/XEngine_Source/XEngine_APIModuleIPMac/APIIPMac_Error.h" +#include "../../XEngine_DependLibrary/XEngine_PhoneData/Source/XPhone_CommHdr.h" +#include "../../XEngine_DependLibrary/XEngine_PhoneData/Source/C/XEngine_APIModulePhone/APIPhone_Define.h" +#include "../../XEngine_DependLibrary/XEngine_PhoneData/Source/C/XEngine_APIModulePhone/APIPhone_Error.h" //加载项目相关头文件 #include "../../XEngine_BuildSwitch.h" #include "../../XEngine_UserProtocol.h" @@ -135,11 +135,15 @@ extern XHANDLE xhRFCSocket; extern XHANDLE xhHTTPHeart; extern XHANDLE xhHTTPPacket; extern XHANDLE xhHTTPPool; +extern XHANDLE xhMemPool; //线程 extern unique_ptr pSTDThread_Deamon; //配置文件 extern XENGINE_SERVICECONFIG st_ServiceConfig; extern XENGINE_DEAMONAPPLIST st_DeamonAppConfig; + +#include "XEngine_MemoryPool.h" + //连接库 #ifdef _MSC_BUILD #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib.lib") diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.cpp index 4da29664..c163c9f5 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.cpp @@ -19,6 +19,7 @@ XHANDLE xhRFCSocket = NULL; XHANDLE xhHTTPHeart = NULL; XHANDLE xhHTTPPacket = NULL; XHANDLE xhHTTPPool = NULL; +XHANDLE xhMemPool = NULL; //线程 unique_ptr pSTDThread_Deamon = NULL; //配置文件 @@ -37,6 +38,7 @@ void ServiceApp_Stop(int signo) SocketOpt_HeartBeat_DestoryEx(xhHTTPHeart); HttpProtocol_Server_DestroyEx(xhHTTPPacket); ManagePool_Thread_NQDestroy(xhHTTPPool); + ManagePool_Memory_Destory(xhMemPool); //销毁数据库 ModuleDatabase_IDCard_Destory(); ModuleDatabase_Bank_Destory(); @@ -211,6 +213,14 @@ int main(int argc, char** argv) #endif } + xhMemPool = ManagePool_Memory_Create(); + if (NULL == xhMemPool) + { + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,初始化内存池失败,错误:%lX"), ManagePool_GetLastError()); + goto XENGINE_SERVICEAPP_EXIT; + } + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,初始化内存池成功")); + if (st_ServiceConfig.st_XImageText.bEnable) { if (!ModuleHelp_ImageGet_TextInit(st_ServiceConfig.st_XImageText.tszImagePath, st_ServiceConfig.st_XImageText.tszImageLanguage)) @@ -545,6 +555,7 @@ int main(int argc, char** argv) SocketOpt_HeartBeat_DestoryEx(xhHTTPHeart); HttpProtocol_Server_DestroyEx(xhHTTPPacket); ManagePool_Thread_NQDestroy(xhHTTPPool); + ManagePool_Memory_Destory(xhMemPool); //销毁数据库 ModuleDatabase_IDCard_Destory(); ModuleDatabase_Bank_Destory(); diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj index ed6cc216..df2b6acf 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj @@ -257,6 +257,7 @@ + diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj.filters b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj.filters index 00f7282d..c19b0381 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj.filters +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj.filters @@ -203,5 +203,8 @@ 头文件\XEngine_TaskGet + + 头文件 + \ No newline at end of file diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_MemoryPool.h b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_MemoryPool.h new file mode 100644 index 00000000..ab2f7b59 --- /dev/null +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_MemoryPool.h @@ -0,0 +1,48 @@ +#pragma once +/******************************************************************** +// Created: 2025/06/24 16:49:26 +// File Name: D:\XEngine_APIService\XEngine_Source\XEngine_ServiceApp\XEngine_HttpApp\XEngine_MemoryPool.h +// File Path: D:\XEngine_APIService\XEngine_Source\XEngine_ServiceApp\XEngine_HttpApp +// File Base: XEngine_MemoryPool +// File Ext: h +// Project: XEngine +// Author: qyt +// Purpose: 内存池封装 +// History: +*********************************************************************/ +class CXEngine_MemoryPoolEx +{ +public: + CXEngine_MemoryPoolEx(size_t nSize) + { + lPtr = ManagePool_Memory_Alloc(xhMemPool, nSize); + if (NULL == lPtr) + { + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ALERT, _X("内存池分配失败,系统面临崩溃!")); + return; + } + } + ~CXEngine_MemoryPoolEx() + { + if (NULL != lPtr) + { + ManagePool_Memory_Free(xhMemPool, lPtr); + } + } +public: + // 支持类型转换 + template + T* as() { + return static_cast(lPtr); + } + XCHAR* get() + { + return static_cast(lPtr); + } + LPCXSTR tostr() + { + return static_cast(lPtr); + } +private: + XPVOID lPtr = NULL; +}; \ No newline at end of file diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_BackService.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_BackService.cpp index 681ac9b3..a6738496 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_BackService.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_BackService.cpp @@ -3,9 +3,8 @@ static bool bRecord = false; static XHANDLE xhSound = NULL; static XHANDLE xhScreen = NULL; -static XNETHANDLE xhAudio = 0; -static XNETHANDLE xhVideo = 0; static XHANDLE xhStream = NULL; +static XHANDLE xhAudioFifo = NULL; void XCALLBACK HTTPTask_TaskPost_CBVideo(uint8_t* ptszAVBuffer, int nAVLen, AVCOLLECT_TIMEINFO* pSt_TimeInfo, XPVOID lParam) { @@ -16,9 +15,20 @@ void XCALLBACK HTTPTask_TaskPost_CBVideo(uint8_t* ptszAVBuffer, int nAVLen, AVCO } void XCALLBACK HTTPTask_TaskPost_CBAudio(uint8_t* ptszAVBuffer, int nAVLen, AVCOLLECT_TIMEINFO* pSt_TimeInfo, XPVOID lParam) { - if (!XClient_StreamPush_LiveAudio(xhStream, ptszAVBuffer, nAVLen)) + if (AudioCodec_Help_FifoSend(xhAudioFifo, (LPCXSTR)ptszAVBuffer, nAVLen)) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("音频采集器,推流编码失败,需要关闭推流服务,错误码:%lX"), StreamClient_GetLastError()); + while (true) + { + XBYTE tszAVBuffer[8192] = {}; + if (!AudioCodec_Help_FifoRecv(xhAudioFifo, tszAVBuffer, &nAVLen)) + { + break; + } + if (!XClient_StreamPush_LiveAudio(xhStream, tszAVBuffer, nAVLen)) + { + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("音频采集器,推流编码失败,需要关闭推流服务,错误码:%lX"), StreamClient_GetLastError()); + } + } } } @@ -27,18 +37,13 @@ bool HTTPTask_TaskPost_BackService(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer int nSDLen = 0; int nRVLen = 0; int nBSType = 0; - XCHAR* ptszRVBuffer = (XCHAR*)malloc(XENGINE_MEMORY_SIZE_MAX); - XCHAR* ptszSDBuffer = (XCHAR*)malloc(XENGINE_MEMORY_SIZE_MAX); - XCHAR tszSrcBuffer[XPATH_MAX]; - XCHAR tszDstBuffer[XPATH_MAX]; - RFCCOMPONENTS_HTTP_HDRPARAM st_HDRParam; //发送给客户端的参数 + CXEngine_MemoryPoolEx m_MemorySend(XENGINE_MEMORY_SIZE_MAX); + CXEngine_MemoryPoolEx m_MemoryRecv(XENGINE_MEMORY_SIZE_MAX); - memset(ptszRVBuffer, '\0', XENGINE_MEMORY_SIZE_MAX); - memset(ptszSDBuffer, '\0', XENGINE_MEMORY_SIZE_MAX); - - memset(tszSrcBuffer, '\0', sizeof(tszSrcBuffer)); - memset(tszDstBuffer, '\0', sizeof(tszDstBuffer)); - memset(&st_HDRParam, '\0', sizeof(RFCCOMPONENTS_HTTP_HDRPARAM)); + XCHAR tszSrcBuffer[XPATH_MAX] = {}; + XCHAR tszDstBuffer[XPATH_MAX] = {}; + XCHAR tszAPIBuffer[XPATH_MAX] = {}; + RFCCOMPONENTS_HTTP_HDRPARAM st_HDRParam = {}; //发送给客户端的参数 st_HDRParam.nHttpCode = 200; //HTTP CODE码 st_HDRParam.bIsClose = true; //收到回复后就关闭 @@ -56,25 +61,25 @@ bool HTTPTask_TaskPost_BackService(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer if (0 != _tcsxnicmp(st_ServiceConfig.st_XVerifcation.tszUserName, tszUserName, _tcsxlen(st_ServiceConfig.st_XVerifcation.tszUserName))) { st_HDRParam.nHttpCode = 400; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求后台协议失败,用户验证失败,用户名错误,提供的用户名:%s"), lpszClientAddr, tszUserName); return false; } if (0 != _tcsxnicmp(st_ServiceConfig.st_XVerifcation.tszUserPass, tszUserPass, _tcsxlen(st_ServiceConfig.st_XVerifcation.tszUserPass))) { st_HDRParam.nHttpCode = 400; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求后台协议失败,解析协议失败,错误码:%lX"), lpszClientAddr, tszUserPass); return false; } } - if (!ModuleProtocol_Parse_BackService(lpszMsgBuffer, nMsgLen, tszSrcBuffer, tszDstBuffer, &nBSType)) + if (!ModuleProtocol_Parse_BackService(lpszMsgBuffer, nMsgLen, tszSrcBuffer, tszDstBuffer, tszAPIBuffer, &nBSType)) { st_HDRParam.nHttpCode = 400; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求后台协议失败,解析协议失败,错误码:%lX"), lpszClientAddr, ModuleProtocol_GetLastError()); return false; } @@ -87,13 +92,23 @@ bool HTTPTask_TaskPost_BackService(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer if (NULL == xhTask) { st_HDRParam.nHttpCode = 400; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,下载任务处理失败,请求下载地址:%s,下载路径:%s,错误码:%lX"), lpszClientAddr, tszSrcBuffer, tszDstBuffer, APIClient_GetLastError()); + return false; + } + if (!APIClient_File_Start(xhTask)) + { + st_HDRParam.nHttpCode = 400; + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,下载任务处理失败,请求下载地址:%s,下载路径:%s,错误码:%lX"), lpszClientAddr, tszSrcBuffer, tszDstBuffer, APIClient_GetLastError()); return false; } - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); + + XLONG dwRet = 0; while (true) { XCLIENT_APIFILE st_TaskInfo; @@ -101,14 +116,22 @@ bool HTTPTask_TaskPost_BackService(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer if (!APIClient_File_Query(xhTask, &st_TaskInfo)) { + dwRet = APIClient_GetLastError(); break; } if ((ENUM_XCLIENT_APIHELP_FILE_STATUS_INIT != st_TaskInfo.en_DownStatus) && (ENUM_XCLIENT_APIHELP_FILE_STATUS_DOWNLOADDING != st_TaskInfo.en_DownStatus)) { + dwRet = APIClient_GetLastError(); break; } } APIClient_File_Delete(xhTask); + //完成通知 + if (_tcsxlen(tszAPIBuffer) > 0) + { + ModuleProtocol_Packet_BackNotify(m_MemorySend.get(), &nSDLen, (int)dwRet, XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_BS_DOWNFILE, tszSrcBuffer, tszDstBuffer, tszAPIBuffer); + APIClient_Http_Request(_X("POST"), tszAPIBuffer, m_MemorySend.get()); + } XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s:下载任务处理成功,下载地址:%s,保存地址:%s"),lpszClientAddr, tszSrcBuffer, tszDstBuffer); } break; @@ -116,26 +139,26 @@ bool HTTPTask_TaskPost_BackService(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer if (-1 == _xtremove(tszSrcBuffer)) { st_HDRParam.nHttpCode = 400; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s:删除文件:%s,任务处理失败,错误码:%d"), lpszClientAddr, tszSrcBuffer, errno); return false; } - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s:删除文件处理成功,删除的文件:%s"), lpszClientAddr, tszSrcBuffer); break; case XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_BS_DELETEDIR: if (!SystemApi_File_DeleteMutilFolder(tszSrcBuffer)) { st_HDRParam.nHttpCode = 400; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s:删除文件夹:%s 任务处理失败,错误码:%lX"), lpszClientAddr, tszSrcBuffer, SystemApi_GetLastError()); return false; } - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s:删除文件夹处理成功,删除的文件夹:%s"), lpszClientAddr, tszSrcBuffer); break; case XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_BS_UPFILE: @@ -144,13 +167,23 @@ bool HTTPTask_TaskPost_BackService(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer if (NULL == xhTask) { st_HDRParam.nHttpCode = 400; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s:FTP上传任务处理失败,上传的文件:%s,上传的地址:%s,错误码:%lX"), lpszClientAddr, tszSrcBuffer, tszDstBuffer, APIClient_GetLastError()); return false; } - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + if (!APIClient_File_Start(xhTask)) + { + st_HDRParam.nHttpCode = 400; + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,上传任务处理失败,上传的文件:%s,上传的地址:%s,错误码:%lX"), lpszClientAddr, tszSrcBuffer, tszDstBuffer, APIClient_GetLastError()); + return false; + } + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); + + XLONG dwRet = 0; while (true) { XCLIENT_APIFILE st_TaskInfo; @@ -158,14 +191,22 @@ bool HTTPTask_TaskPost_BackService(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer if (!APIClient_File_Query(xhTask, &st_TaskInfo)) { + dwRet = APIClient_GetLastError(); break; } - if (ENUM_XCLIENT_APIHELP_FILE_STATUS_DOWNLOADDING != st_TaskInfo.en_DownStatus) + if (ENUM_XCLIENT_APIHELP_FILE_STATUS_DOWNLOADDING != st_TaskInfo.en_DownStatus && (ENUM_XCLIENT_APIHELP_FILE_STATUS_INIT != st_TaskInfo.en_DownStatus)) { + dwRet = APIClient_GetLastError(); break; } } APIClient_File_Delete(xhTask); + //完成通知 + if (_tcsxlen(tszAPIBuffer) > 0) + { + ModuleProtocol_Packet_BackNotify(m_MemorySend.get(), &nSDLen, (int)dwRet, XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_BS_UPFILE, tszSrcBuffer, tszDstBuffer, tszAPIBuffer); + APIClient_Http_Request(_X("POST"), tszAPIBuffer, m_MemorySend.get()); + } XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s:上传文件处理成功,上传的文件:%s,上传的地址:%s"), lpszClientAddr, tszSrcBuffer, tszDstBuffer); } break; @@ -177,14 +218,14 @@ bool HTTPTask_TaskPost_BackService(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer if (!SystemApi_File_EnumFile(tszSrcBuffer, &ppszFileList, &nListCount)) { st_HDRParam.nHttpCode = 400; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s:请求文件列表:%s 失败,错误码:%lX"), lpszClientAddr, tszSrcBuffer, SystemApi_GetLastError()); return false; } - ModuleProtocol_Packet_ListFile(ptszRVBuffer, &nRVLen, &ppszFileList, nListCount); - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam, ptszRVBuffer, nRVLen); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + ModuleProtocol_Packet_ListFile(m_MemoryRecv.get(), &nRVLen, &ppszFileList, nListCount); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam, m_MemoryRecv.get(), nRVLen); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); BaseLib_Memory_Free((XPPPMEM)&ppszFileList, nListCount); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s:获取文件列表成功,回复个数:%d"), lpszClientAddr, nListCount); } @@ -195,13 +236,13 @@ bool HTTPTask_TaskPost_BackService(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer if (!SystemApi_Process_CreateProcess(&dwProcessID, tszSrcBuffer, NULL, nBSType)) { st_HDRParam.nHttpCode = 400; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s:请求创建进程:%s 失败,错误码:%lX"), lpszClientAddr, tszSrcBuffer, SystemApi_GetLastError()); return false; } - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s:请求创建进程成功,进程:%s,PID:%d"), lpszClientAddr, tszSrcBuffer, dwProcessID); } break; @@ -210,13 +251,13 @@ bool HTTPTask_TaskPost_BackService(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer if (!SystemApi_Process_Stop(NULL, nBSType)) { st_HDRParam.nHttpCode = 400; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s:请求停止进程ID:%d 失败,错误码:%lX"), lpszClientAddr, nBSType, SystemApi_GetLastError()); return false; } - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s:请求停止进程成功,进程ID:%ld"), nBSType); } break; @@ -225,13 +266,13 @@ bool HTTPTask_TaskPost_BackService(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer if (!SystemApi_System_Shutdown(nBSType)) { st_HDRParam.nHttpCode = 400; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s:请求关机失败,错误码:%lX"), lpszClientAddr, SystemApi_GetLastError()); return false; } - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s:请求关闭系统成功,关闭方式:%ld"), lpszClientAddr, nBSType); } break; @@ -239,24 +280,24 @@ bool HTTPTask_TaskPost_BackService(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer if (-1 == system(tszSrcBuffer)) { st_HDRParam.nHttpCode = 400; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s:请求执行命令:%s 失败,错误码:%lX"), lpszClientAddr, tszSrcBuffer, SystemApi_GetLastError()); return false; } - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s:请求执行命令成功,执行的命令:%s"), lpszClientAddr, tszSrcBuffer); break; case XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_BS_REPORT: { if (0 == nBSType) { - ModuleProtocol_Packet_HardWare(ptszRVBuffer, &nRVLen); + InfoReport_APIMachine_Hardware(m_MemoryRecv.get(), &nRVLen); } else if (1 == nBSType) { - ModuleProtocol_Packet_SoftWare(ptszRVBuffer, &nRVLen); + InfoReport_APIMachine_Software(m_MemoryRecv.get(), &nRVLen); } else if (2 == nBSType) { @@ -266,12 +307,12 @@ bool HTTPTask_TaskPost_BackService(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer AVHELP_DEVICEINFO** ppSt_VideoList; AVHelp_Device_EnumDevice(&ppSt_AudioList, &ppSt_VideoList, &nACount, &nVCount); - ModuleProtocol_Packet_EnumDevice(ptszRVBuffer, &nRVLen, &ppSt_AudioList, &ppSt_VideoList, nACount, nVCount); + ModuleProtocol_Packet_EnumDevice(m_MemoryRecv.get(), &nRVLen, &ppSt_AudioList, &ppSt_VideoList, nACount, nVCount); BaseLib_Memory_Free((void***)&ppSt_AudioList, nACount); BaseLib_Memory_Free((void***)&ppSt_VideoList, nVCount); } - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam, ptszRVBuffer, nRVLen); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam, m_MemoryRecv.get(), nRVLen); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s:请求上报信息成功,上报类型:%d"), lpszClientAddr, nBSType); } break; @@ -280,8 +321,8 @@ bool HTTPTask_TaskPost_BackService(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer if (bRecord) { st_HDRParam.nHttpCode = 400; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求屏幕录制失败,因为已经在录制中了"), lpszClientAddr); return false; } @@ -300,25 +341,25 @@ bool HTTPTask_TaskPost_BackService(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer if (NULL == xhSound) { st_HDRParam.nHttpCode = 400; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,初始化音频采集器请求失败,错误码:%lX"), lpszClientAddr, AVCollect_GetLastError()); return false; } + xhAudioFifo = AudioCodec_Help_FifoInit(ENUM_AVCODEC_AUDIO_SAMPLEFMT_S16, 2); + if (NULL == xhAudioFifo) + { + st_HDRParam.nHttpCode = 400; + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,初始化音频采集器请求失败,错误码:%lX"), lpszClientAddr, AudioCodec_GetLastError()); + return false; + } st_AVInfo.st_AudioInfo.bEnable = true; AVCollect_Audio_GetInfo(xhSound, &st_AVInfo); //音频编码参数 st_AVInfo.st_AudioInfo.enAVCodec = ENUM_XENGINE_AVCODEC_AUDIO_TYPE_AAC; st_AVInfo.st_AudioInfo.nSampleFmt = ENUM_AVCODEC_AUDIO_SAMPLEFMT_S16; - if (!AudioCodec_Stream_EnInit(&xhAudio, &st_AVInfo.st_AudioInfo)) - { - st_HDRParam.nHttpCode = 400; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,初始化音频编码器失败,错误码:%lX"), lpszClientAddr, AudioCodec_GetLastError()); - return false; - } - AVCollect_Audio_Start(xhSound); } //屏幕采集 AVCOLLECT_SCREENINFO st_AVScreen; @@ -327,45 +368,49 @@ bool HTTPTask_TaskPost_BackService(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer st_AVScreen.nFrameRate = 24; st_AVScreen.nPosX = 0; st_AVScreen.nPosY = 0; + _xstprintf(st_AVScreen.tszVideoSize, _X("%s"), _X("1920x1080")); #ifdef _MSC_BUILD - xhScreen = AVCollect_Video_Init("gdigrab", "desktop", &st_AVScreen, HTTPTask_TaskPost_CBVideo); + xhScreen = AVCollect_Video_Init("gdigrab", tszDstBuffer, &st_AVScreen, HTTPTask_TaskPost_CBVideo); +#elif __linux__ + xhScreen = AVCollect_Video_Init("x11grab", tszDstBuffer, &st_AVScreen, HTTPTask_TaskPost_CBVideo); #else - xhScreen = AVCollect_Video_Init("x11grab", ":0", &st_AVScreen, HTTPTask_TaskPost_CBVideo); + xhScreen = AVCollect_Video_Init("avfoundation", tszDstBuffer, &st_AVScreen, HTTPTask_TaskPost_CBVideo); #endif if (NULL == xhScreen) { st_HDRParam.nHttpCode = 400; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,屏幕采集器请求失败,错误码:%lX"), lpszClientAddr, AVCollect_GetLastError()); return false; } AVCollect_Video_GetInfo(xhScreen, &st_AVInfo); - st_AVInfo.st_VideoInfo.enAVCodec = ENUM_XENGINE_AVCODEC_VIDEO_TYPE_H264; - if (!VideoCodec_Stream_EnInit(&xhVideo, &st_AVInfo.st_VideoInfo)) - { - st_HDRParam.nHttpCode = 400; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,初始化视频编码器失败,错误码:%lX"), lpszClientAddr, VideoCodec_GetLastError()); - return false; - } - - xhStream = XClient_StreamPush_LiveInit(tszDstBuffer, &st_AVInfo); + xhStream = XClient_StreamPush_LiveInit(); if (NULL == xhStream) { st_HDRParam.nHttpCode = 400; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,推流:%s 请求失败,错误码:%lX"), lpszClientAddr, tszDstBuffer, StreamClient_GetLastError()); return false; } bRecord = true; + XClient_StreamPush_LiveOutput(xhStream, tszAPIBuffer, _X("flv")); + XClient_StreamPush_LiveCreate(xhStream, &st_AVInfo); + + AVCODEC_TIMEBASE st_VideoTime = {}; + AVCODEC_TIMEBASE st_AudioTime = {}; + AVCollect_Audio_GetTimeBase(xhSound, &st_AudioTime); + AVCollect_Video_GetTimeBase(xhScreen, &st_VideoTime); + XClient_StreamPush_LiveTime(xhStream, &st_VideoTime, &st_AudioTime); + + AVCollect_Audio_Start(xhSound); AVCollect_Video_Start(xhScreen); - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,开始屏幕录制推流:%s 请求成功"), lpszClientAddr, tszDstBuffer); + XClient_StreamPush_LiveWriteHdr(xhStream); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,开始屏幕录制,音频:%s,视频:%s 推流:%s 请求成功"), lpszClientAddr, tszSrcBuffer, tszDstBuffer, tszAPIBuffer); } break; case XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_BS_RECORDSTOP: @@ -375,12 +420,13 @@ bool HTTPTask_TaskPost_BackService(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer AVCollect_Video_Destory(xhScreen); AVCollect_Audio_Destory(xhSound); XClient_StreamPush_LiveClose(xhStream); - VideoCodec_Stream_Destroy(xhVideo); - AudioCodec_Stream_Destroy(xhAudio); + xhScreen = NULL; + xhSound = NULL; + xhStream = NULL; bRecord = false; } - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,停止屏幕录制推流请求成功"), lpszClientAddr); } break; @@ -388,14 +434,10 @@ bool HTTPTask_TaskPost_BackService(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer break; default: st_HDRParam.nHttpCode = 400; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s:请求的操作码不支持,操作码:%d"), lpszClientAddr, nType); return false; } - free(ptszRVBuffer); - free(ptszSDBuffer); - ptszSDBuffer = NULL; - ptszRVBuffer = NULL; return true; } \ No newline at end of file diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Deamon.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Deamon.cpp index 32fc0c3f..ec14838b 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Deamon.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Deamon.cpp @@ -91,12 +91,10 @@ void XCALLBACK HTTPTask_TaskPost_Thread() bool HTTPTask_TaskPost_Deamon(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen) { int nSDLen = 0; - XCHAR* ptszSDBuffer = (XCHAR*)malloc(XENGINE_MEMORY_SIZE_MAX); + CXEngine_MemoryPoolEx m_MemorySend(XENGINE_MEMORY_SIZE_MAX); RFCCOMPONENTS_HTTP_HDRPARAM st_HDRParam; //发送给客户端的参数 XENGINE_DEAMONAPPINFO st_DeamonApp; - memset(ptszSDBuffer, '\0', XENGINE_MEMORY_SIZE_MAX); - memset(&st_HDRParam, '\0', sizeof(RFCCOMPONENTS_HTTP_HDRPARAM)); memset(&st_DeamonApp, '\0', sizeof(XENGINE_DEAMONAPPINFO)); @@ -115,16 +113,16 @@ bool HTTPTask_TaskPost_Deamon(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int if (0 != _tcsxnicmp(st_ServiceConfig.st_XVerifcation.tszUserName, tszUserName, _tcsxlen(st_ServiceConfig.st_XVerifcation.tszUserName))) { st_HDRParam.nHttpCode = 400; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求守护协议失败,用户验证失败,用户名错误,提供的用户名:%s"), lpszClientAddr, tszUserName); return false; } if (0 != _tcsxnicmp(st_ServiceConfig.st_XVerifcation.tszUserPass, tszUserPass, _tcsxlen(st_ServiceConfig.st_XVerifcation.tszUserPass))) { st_HDRParam.nHttpCode = 400; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求守护协议失败,解析协议失败,错误码:%lX"), lpszClientAddr, tszUserPass); return false; } @@ -133,8 +131,8 @@ bool HTTPTask_TaskPost_Deamon(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int if (!ModuleProtocol_Parse_Deamon(lpszMsgBuffer, nMsgLen, st_DeamonApp.tszAPPName, st_DeamonApp.tszAPPPath, &st_DeamonApp.nReTime, &st_DeamonApp.nReNumber, &st_DeamonApp.bEnable)) { st_HDRParam.nHttpCode = 400; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求解析守护协议失败,解析协议失败,错误码:%lX"), lpszClientAddr, ModuleProtocol_GetLastError()); return false; } @@ -155,11 +153,8 @@ bool HTTPTask_TaskPost_Deamon(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int } } } - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求解析守护协议成功,协议类型:%d,进程名称:%s"), lpszClientAddr, st_DeamonApp.bEnable, st_DeamonApp.tszAPPName); - - free(ptszSDBuffer); - ptszSDBuffer = NULL; return true; } \ No newline at end of file diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Image.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Image.cpp index 5eab9a54..5309d990 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Image.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Image.cpp @@ -19,15 +19,10 @@ bool HTTPTask_TaskPost_Image(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int #else int nSDLen = 0; int nRVLen = 0; - XCHAR tszHTTPKey[64]; - XCHAR tszHTTPVlu[64]; - XCHAR* ptszSDBuffer = (XCHAR*)malloc(XENGINE_MEMORY_SIZE_MAX); - XCHAR* ptszRVBuffer = (XCHAR*)malloc(XENGINE_MEMORY_SIZE_MAX); - - memset(tszHTTPKey, '\0', sizeof(tszHTTPKey)); - memset(tszHTTPVlu, '\0', sizeof(tszHTTPVlu)); - memset(ptszSDBuffer, '\0', XENGINE_MEMORY_SIZE_MAX); - memset(ptszRVBuffer, '\0', XENGINE_MEMORY_SIZE_MAX); + XCHAR tszHTTPKey[64] = {}; + XCHAR tszHTTPVlu[64] = {}; + CXEngine_MemoryPoolEx m_MemorySend(XENGINE_MEMORY_SIZE_MAX); + CXEngine_MemoryPoolEx m_MemoryRecv(XENGINE_MEMORY_SIZE_MAX); BaseLib_String_GetKeyValue((*ppptszList)[1], "=", tszHTTPKey, tszHTTPVlu); int nOPCode = _ttxoi(tszHTTPVlu); @@ -49,17 +44,17 @@ bool HTTPTask_TaskPost_Image(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int int nListCount = 0; if (ModuleHelp_ImageGet_TextGet(lpszMsgBuffer, nMsgLen, &pptszListStr, &nListCount)) { - ModuleProtocol_Packet_ImageText(ptszRVBuffer, &nRVLen, &pptszListStr, nListCount); - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam, ptszRVBuffer, nRVLen); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + ModuleProtocol_Packet_ImageText(m_MemoryRecv.get(), &nRVLen, &pptszListStr, nListCount); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam, m_MemoryRecv.get(), nRVLen); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); BaseLib_Memory_Free((XPPPMEM)&pptszListStr, nListCount); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求获取识别图片文字成功,获取个数:%d"), lpszClientAddr, nListCount); } else { st_HDRParam.nHttpCode = 501; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求获取识别图片文字失败,错误:%lX"), lpszClientAddr, ModuleHelp_GetLastError()); } } @@ -70,16 +65,16 @@ bool HTTPTask_TaskPost_Image(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int if (ModuleHelp_ImageGet_Attr(lpszMsgBuffer, nMsgLen, &st_BaseInfo, &st_ExtAttr)) { - ModuleProtocol_Packet_ImageAttr(ptszRVBuffer, &nRVLen, &st_BaseInfo, &st_ExtAttr); - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam, ptszRVBuffer, nRVLen); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + ModuleProtocol_Packet_ImageAttr(m_MemoryRecv.get(), &nRVLen, &st_BaseInfo, &st_ExtAttr); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam, m_MemoryRecv.get(), nRVLen); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求获取图像信息成功,宽:%d,高:%d,通道:%d"), lpszClientAddr, st_BaseInfo.nWidth, st_BaseInfo.nHeigth, st_BaseInfo.nChannel); } else { st_HDRParam.nHttpCode = 501; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求获取图片属性失败,错误:%lX"), lpszClientAddr, ModuleHelp_GetLastError()); } } @@ -88,8 +83,8 @@ bool HTTPTask_TaskPost_Image(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int if (nListCount < 4) { st_HDRParam.nHttpCode = 400; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求设置图像数据失败,因为附加参数不正确,参数个数:%d"), lpszClientAddr, nListCount); return false; } @@ -108,90 +103,86 @@ bool HTTPTask_TaskPost_Image(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int BaseLib_String_GetKeyValue((*ppptszList)[4], "=", tszHTTPKey, tszHTTPVlu); int nHeight = _ttxoi(tszHTTPVlu); - if (ModuleHelp_ImageSet_Resolution(lpszMsgBuffer, nMsgLen, tszFileExt, ptszRVBuffer, &nRVLen, nWidth, nHeight)) + if (ModuleHelp_ImageSet_Resolution(lpszMsgBuffer, nMsgLen, tszFileExt, m_MemoryRecv.get(), &nRVLen, nWidth, nHeight)) { - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam, ptszRVBuffer, nRVLen); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam, m_MemoryRecv.get(), nRVLen); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求设置图像分辨率成功,宽:%d,高:%d"), lpszClientAddr, nWidth, nHeight); } else { st_HDRParam.nHttpCode = 501; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求设置图像分辨率失败,错误:%lX"), lpszClientAddr, ModuleHelp_GetLastError()); } } else if (3 == nOPCode) { - if (ModuleHelp_ImageSet_ColorCvt(lpszMsgBuffer, nMsgLen, tszFileExt, ptszRVBuffer, &nRVLen, (ENUM_XENGINE_IMAGE_COLOR_INFO)nWidth)) + if (ModuleHelp_ImageSet_ColorCvt(lpszMsgBuffer, nMsgLen, tszFileExt, m_MemoryRecv.get(), &nRVLen, (ENUM_XENGINE_IMAGE_COLOR_INFO)nWidth)) { - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam, ptszRVBuffer, nRVLen); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam, m_MemoryRecv.get(), nRVLen); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求设置图像颜色空间转换成功,转换的值:%d"), lpszClientAddr, nWidth); } else { st_HDRParam.nHttpCode = 501; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求设置图像颜色空间转换失败,错误:%lX"), lpszClientAddr, ModuleHelp_GetLastError()); } } else if (4 == nOPCode) { - if (ModuleHelp_ImageSet_Flip(lpszMsgBuffer, nMsgLen, tszFileExt, ptszRVBuffer, &nRVLen, nWidth)) + if (ModuleHelp_ImageSet_Flip(lpszMsgBuffer, nMsgLen, tszFileExt, m_MemoryRecv.get(), &nRVLen, nWidth)) { - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam, ptszRVBuffer, nRVLen); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam, m_MemoryRecv.get(), nRVLen); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求设置图像翻转成功,翻转的值:%d"), lpszClientAddr, nWidth); } else { st_HDRParam.nHttpCode = 501; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求设置图像翻转失败,错误:%lX"), lpszClientAddr, ModuleHelp_GetLastError()); } } else if (5 == nOPCode) { - if (ModuleHelp_ImageSet_Ligth(lpszMsgBuffer, nMsgLen, tszFileExt, ptszRVBuffer, &nRVLen, nWidth)) + if (ModuleHelp_ImageSet_Ligth(lpszMsgBuffer, nMsgLen, tszFileExt, m_MemoryRecv.get(), &nRVLen, nWidth)) { - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam, ptszRVBuffer, nRVLen); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam, m_MemoryRecv.get(), nRVLen); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求设置图像亮度,亮度的值:%d"), lpszClientAddr, nWidth); } else { st_HDRParam.nHttpCode = 501; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求设置图像亮度失败,错误:%lX"), lpszClientAddr, ModuleHelp_GetLastError()); } } else if (6 == nOPCode) { - if (ModuleHelp_ImageSet_Level(lpszMsgBuffer, nMsgLen, tszFileExt, ptszRVBuffer, &nRVLen, nWidth)) + if (ModuleHelp_ImageSet_Level(lpszMsgBuffer, nMsgLen, tszFileExt, m_MemoryRecv.get(), &nRVLen, nWidth)) { - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam, ptszRVBuffer, nRVLen); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam, m_MemoryRecv.get(), nRVLen); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求设置图像质量压缩值:%d"), lpszClientAddr, nWidth); } else { st_HDRParam.nHttpCode = 501; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求设置图像质量压缩失败,错误:%lX"), lpszClientAddr, ModuleHelp_GetLastError()); } } } - free(ptszRVBuffer); - free(ptszSDBuffer); - ptszRVBuffer = NULL; - ptszSDBuffer = NULL; #endif return true; } \ No newline at end of file diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_QRCode.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_QRCode.cpp index 52bffefc..21797691 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_QRCode.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_QRCode.cpp @@ -18,54 +18,47 @@ bool HTTPTask_TaskPost_QRCode(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int #else int nSDLen = 0; int nRVLen = 0; - XCHAR* ptszSDBuffer = (XCHAR*)malloc(XENGINE_MEMORY_SIZE_MAX); - XCHAR* ptszRVBuffer = (XCHAR*)malloc(XENGINE_MEMORY_SIZE_MAX); - XENGINE_QRCODE st_QRCode; - - memset(ptszSDBuffer, '\0', XENGINE_MEMORY_SIZE_MAX); - memset(ptszRVBuffer, '\0', XENGINE_MEMORY_SIZE_MAX); - memset(&st_QRCode, '\0', sizeof(XENGINE_QRCODE)); + XENGINE_QRCODE st_QRCode = {}; + CXEngine_MemoryPoolEx m_MemorySend(XENGINE_MEMORY_SIZE_MAX); + CXEngine_MemoryPoolEx m_MemoryRecv(XENGINE_MEMORY_SIZE_MAX); + //0创建,1解析 if (0 == nType) { ModuleProtocol_Parse_QRCode(lpszMsgBuffer, nMsgLen, &st_QRCode); _tcsxcpy(st_HDRParam.tszMimeType, st_QRCode.tszFmtBuffer + 1); - if (ModuleHelp_QRCode_QREncodecMemory(st_QRCode.tszMsgBuffer, ptszRVBuffer, &nRVLen, st_QRCode.tszFmtBuffer)) + if (ModuleHelp_QRCode_QREncodecMemory(st_QRCode.tszMsgBuffer, m_MemoryRecv.get(), &nRVLen, st_QRCode.tszFmtBuffer)) { - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam, ptszRVBuffer, nRVLen); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam, m_MemoryRecv.get(), nRVLen); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求创建二维码成功,创建的二维码数据:%s"), lpszClientAddr, st_QRCode.tszMsgBuffer); } else { st_HDRParam.nHttpCode = 501; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求创建二维码失败,错误:%lX"), lpszClientAddr, ModuleHelp_GetLastError()); } } else { - if (ModuleHelp_QRCode_QRDecodecMemory(lpszMsgBuffer, nMsgLen, ptszRVBuffer, st_ServiceConfig.st_XConfig.st_ConfigQRCodec.tszProtoDetect, st_ServiceConfig.st_XConfig.st_ConfigQRCodec.tszModelDetect, st_ServiceConfig.st_XConfig.st_ConfigQRCodec.tszProtoSr, st_ServiceConfig.st_XConfig.st_ConfigQRCodec.tszModelSr)) + if (ModuleHelp_QRCode_QRDecodecMemory(lpszMsgBuffer, nMsgLen, m_MemoryRecv.get(), st_ServiceConfig.st_XConfig.st_ConfigQRCodec.tszProtoDetect, st_ServiceConfig.st_XConfig.st_ConfigQRCodec.tszModelDetect, st_ServiceConfig.st_XConfig.st_ConfigQRCodec.tszProtoSr, st_ServiceConfig.st_XConfig.st_ConfigQRCodec.tszModelSr)) { - nRVLen = _tcsxlen(ptszRVBuffer); - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam, ptszRVBuffer, nRVLen); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求二维码解析成功,解析的数据:%s"), lpszClientAddr, ptszRVBuffer); + nRVLen = _tcsxlen(m_MemoryRecv.get()); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam, m_MemoryRecv.get(), nRVLen); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求二维码解析成功,解析的数据:%s"), lpszClientAddr, m_MemoryRecv.get()); } else { st_HDRParam.nHttpCode = 501; - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, m_MemorySend.get(), &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, m_MemorySend.get(), nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求二维码解析失败,错误:%lX"), lpszClientAddr, ModuleHelp_GetLastError()); } } - free(ptszRVBuffer); - free(ptszSDBuffer); - ptszRVBuffer = NULL; - ptszSDBuffer = NULL; #endif return true; } \ No newline at end of file diff --git a/XEngine_Source/XEngine_UserProtocol.h b/XEngine_Source/XEngine_UserProtocol.h index c672642d..dddaa056 100644 --- a/XEngine_Source/XEngine_UserProtocol.h +++ b/XEngine_Source/XEngine_UserProtocol.h @@ -126,9 +126,9 @@ typedef struct //银行卡 typedef struct { - XCHAR tszBankNumber[XPATH_MAX]; //银行卡号 - XCHAR tszBankName[XPATH_MAX]; //银行卡名称 - XCHAR tszBankAbridge[XPATH_MAX]; //银行卡缩写 + XCHAR tszBankNumber[128]; //银行卡号 + XCHAR tszBankName[128]; //银行卡名称 + XCHAR tszBankAbridge[128]; //银行卡缩写 ENUM_XENGINE_APISERVICE_BANK_TYPE enBankType; }XENGINE_BANKINFO; //语言转换 @@ -166,7 +166,7 @@ typedef struct typedef struct { XENGINE_PROTOCOL_XLOG st_ProtocolLog; - XCHAR tszLogBuffer[10240]; + XCHAR tszLogBuffer[8192]; XCHAR tszTableName[128]; XCHAR tszTimeStart[128]; XCHAR tszTimeEnd[128]; @@ -202,7 +202,7 @@ typedef struct { MODULEHELP_SOCKETTEST_RECONNECT st_SocketConn; MODULEHELP_SOCKETTEST_DATAS st_SocketData; - XCHAR tszAPIUrl[XPATH_MAX]; + XCHAR tszAPIUrl[256]; XNETHANDLE xhToken; int nType; //0,全部报告,其他结束统计报告 bool bTCP; @@ -211,11 +211,11 @@ typedef struct //短连接 typedef struct { - XCHAR tszFullUrl[XPATH_MAX]; - XCHAR tszShotUrl[XPATH_MAX]; - XCHAR tszKeyUrl[XPATH_MAX]; - XCHAR tszMapUrl[XPATH_MAX]; - XCHAR tszCvtUrl[XPATH_MAX]; + XCHAR tszFullUrl[256]; + XCHAR tszShotUrl[256]; + XCHAR tszKeyUrl[256]; + XCHAR tszMapUrl[256]; + XCHAR tszCvtUrl[256]; XCHAR tszCreateTime[64]; int nLength; int nID; @@ -223,12 +223,13 @@ typedef struct //机器收集 typedef struct { - XCHAR tszMachineText[2048]; - XCHAR tszServiceName[XPATH_MAX]; - XCHAR tszMachineName[XPATH_MAX]; - XCHAR tszMachineUser[XPATH_MAX]; - XCHAR tszMachineCode[XPATH_MAX]; - XCHAR tszMachineSystem[XPATH_MAX]; + XCHAR tszMachineSoftware[4096]; + XCHAR tszMachineHardware[4096]; + XCHAR tszServiceName[256]; + XCHAR tszMachineName[256]; + XCHAR tszMachineUser[256]; + XCHAR tszMachineCode[256]; + XCHAR tszMachineSystem[256]; XCHAR tszLastTime[64]; XCHAR tszCreateTime[64]; __int64x nTimeNumber; @@ -237,8 +238,8 @@ typedef struct //敏感词过滤器 typedef struct { - XCHAR tszWordsFrom[XPATH_MAX]; - XCHAR tszWordsTo[XPATH_MAX]; + XCHAR tszWordsFrom[256]; + XCHAR tszWordsTo[256]; XBYTE nLevel; //过滤级别,0替换,1删除,2禁止 }XENGINE_WORDFILTER; //图像基本属性