Ver Fonte

Z991239-4916 #comment 替换http探测库(采用HttpProbe)

oilyang há 2 anos atrás
pai
commit
9a35a8ad68

+ 3 - 1
Module/mod_vtmloader/CMakeLists.txt

@@ -4,6 +4,7 @@ define_module("VtmLoader")
 set(${MODULE_PREFIX}_SRCS
 	VtmLoaderFSM.cpp
 	mod_vtmloader.cpp
+	${OTHER_LIB_BASE_DIR}/libRestfulFunc/RestfulFunc.h
 )
 
 
@@ -22,10 +23,11 @@ target_include_directories(${MODULE_NAME} PRIVATE
 
 target_link_directories(${MODULE_NAME} PRIVATE
 	${ThirdPartyLib}
+	${OTHER_LIB_BASE_DIR}/libRestfulFunc
 )
 
 # 添加实体需要依赖的其他共享库(包括系统库)
-set(${MODULE_PREFIX}_LIBS ${MODULE_BASE_ALL_LIBS})#${CONAN_PKG_LIBS_BOOST} RVCCrypt NewRVCCrypt
+set(${MODULE_PREFIX}_LIBS ${MODULE_BASE_ALL_LIBS} RestfulFunc)#${CONAN_PKG_LIBS_BOOST} RVCCrypt NewRVCCrypt
 target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS} libpublicFun)
 
 

+ 11 - 1
Module/mod_vtmloader/VtmLoaderFSM.cpp

@@ -9,6 +9,7 @@
 #include <unistd.h>
 #include <fcntl.h>
 #include <errno.h>
+#include "RestfulFunc.h"
 #endif //RVC_OS_WIN
 #include "../mod_healthmanager/HealthManager_client_g.h"
 using namespace HealthManager;
@@ -1474,8 +1475,17 @@ int CVtmLoaderFSM::HttpConnCheck(CSimpleStringA csHttAddr, HttpAddrType eType)
 	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("to HttpConnCheck");
 	ULLINT beginTick = SP::Module::Comm::RVCGetTickCount();
 	int httpcheckCount = 1;
+	bool bCheckOK = false;
 	while(true){
-		if (!checkHttpActive(csHttAddr.GetData()))
+#if defined(RVC_OS_LINUX)
+		string msg;
+		int curFlag = HttpProbe(csHttAddr.GetData(), msg, 5);
+		if (curFlag > 0 && curFlag < 400)
+			bCheckOK = true;
+#else
+		bCheckOK = checkHttpActive(csHttAddr.GetData());
+#endif
+		if (!bCheckOK)
 		{
 			LogWarn(Severity_Middle, Error_Unexpect, VtmLoader_BootInfoPrint, CSimpleStringA::Format("尝试连接总行服务失败(%s),%d 秒后自动重试(第%d次重试)。请确认终端到总行服务网络是否正常", csHttAddr.GetData(), m_iDetectInterval/1000, httpcheckCount));
 			m_httpCheckResult[eType] = HttpConnResult_Failed;