Skip to content

Commit 3b21cd3

Browse files
committed
modify:ntp protocol service extract individually
added:dns service
1 parent 2dc0da4 commit 3b21cd3

File tree

7 files changed

+123
-69
lines changed

7 files changed

+123
-69
lines changed

XEngine_Release/XEngine_Config/XEngine_Config.json

Lines changed: 67 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,82 +1,84 @@
11
{
2-
"tszIPAddr":"192.168.1.8",
3-
"bDeamon":false,
4-
"bShowWnd":true,
5-
"nHttpPort":5501,
6-
"nRFCPort":5502,
7-
"XMax":{
8-
"nMaxClient":10000,
9-
"nMaxQueue":10000,
10-
"nIOThread":2,
11-
"nHttpThread":2
2+
"tszIPAddr": "192.168.1.8",
3+
"bDeamon": false,
4+
"bShowWnd": true,
5+
"nHttpPort": 5501,
6+
"nRFCPort": 5502,
7+
"nNTPPort": 123,
8+
"nDNSPort": 53,
9+
"XMax": {
10+
"nMaxClient": 10000,
11+
"nMaxQueue": 10000,
12+
"nIOThread": 2,
13+
"nHttpThread": 2
1214
},
13-
"XTime":{
14-
"nTimeCheck":3,
15-
"nHttpTimeOut":5,
16-
"nP2PTimeOut":60
15+
"XTime": {
16+
"nTimeCheck": 3,
17+
"nHttpTimeOut": 5,
18+
"nP2PTimeOut": 60
1719
},
18-
"XLog":{
19-
"tszAPIFile":"./XEngine_Log/XEngine_HttpApp.Log",
20-
"tszServiceFile":"./XEngine_Log/XEngine_ServiceApp.Log",
21-
"MaxSize":1024000,
22-
"MaxCount":10,
23-
"LogLeave":17,
24-
"LogType":32
20+
"XLog": {
21+
"tszAPIFile": "./XEngine_Log/XEngine_HttpApp.Log",
22+
"tszServiceFile": "./XEngine_Log/XEngine_ServiceApp.Log",
23+
"MaxSize": 1024000,
24+
"MaxCount": 10,
25+
"LogLeave": 17,
26+
"LogType": 32
2527
},
26-
"XSql":{
27-
"bEnable":false,
28-
"SQLAddr":"10.0.2.6",
29-
"SQLPort":3306,
30-
"SQLUser":"root",
31-
"SQLPass":"123123aa"
28+
"XSql": {
29+
"bEnable": false,
30+
"SQLAddr": "10.0.2.6",
31+
"SQLPort": 3306,
32+
"SQLUser": "root",
33+
"SQLPass": "123123aa"
3234
},
33-
"XApi":{
34-
"tszWeatherUrl":"https://restapi.amap.com/v3/weather/weatherInfo?city=%s&key=3239fc302d6480ce49973f4d1c59e5d8",
35-
"tszBankUrl":"https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?cardNo=%s&cardBinCheck=true",
36-
"tszOilUrl":"https://www.iamwawa.cn/oilprice/api?area=%s",
37-
"st_TranslationInfo":{
38-
"url":"https://fanyi-api.baidu.com/api/trans/vip/translate",
39-
"appid":"20231228001924304",
40-
"key":"udXGjpmNVeQHml1FjT8E"
35+
"XApi": {
36+
"tszWeatherUrl": "https://restapi.amap.com/v3/weather/weatherInfo?city=%s&key=3239fc302d6480ce49973f4d1c59e5d8",
37+
"tszBankUrl": "https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?cardNo=%s&cardBinCheck=true",
38+
"tszOilUrl": "https://www.iamwawa.cn/oilprice/api?area=%s",
39+
"st_TranslationInfo": {
40+
"url": "https://fanyi-api.baidu.com/api/trans/vip/translate",
41+
"appid": "20231228001924304",
42+
"key": "udXGjpmNVeQHml1FjT8E"
4143
}
4244
},
43-
"XPlugin":{
44-
"bEnable":true,
45-
"tszLibPlugin":"./XEngine_LibPlugin",
46-
"tszLuaPlugin":"./XEngine_LuaPlugin"
45+
"XPlugin": {
46+
"bEnable": true,
47+
"tszLibPlugin": "./XEngine_LibPlugin",
48+
"tszLuaPlugin": "./XEngine_LuaPlugin"
4749
},
48-
"XConfig":{
49-
"st_ConfigQRCode":{
50-
"tszModelDetect":"./XEngine_Config/qrmodel/detect.caffemodel",
51-
"tszModelSr":"./XEngine_Config/qrmodel/sr.caffemodel",
52-
"tszProtoDetect":"./XEngine_Config/qrmodel/detect.prototxt",
53-
"tszProtoSr":"./XEngine_Config/qrmodel/sr.prototxt"
50+
"XConfig": {
51+
"st_ConfigQRCode": {
52+
"tszModelDetect": "./XEngine_Config/qrmodel/detect.caffemodel",
53+
"tszModelSr": "./XEngine_Config/qrmodel/sr.caffemodel",
54+
"tszProtoDetect": "./XEngine_Config/qrmodel/detect.prototxt",
55+
"tszProtoSr": "./XEngine_Config/qrmodel/sr.prototxt"
5456
},
55-
"tszConfigDeamon":"./XEngine_Config/XEngine_DeamonConfig.json",
56-
"tszConfigHTTPMime":"./XEngine_Config/HttpMime.types",
57-
"tszConfigHTTPCode":"./XEngine_Config/HttpCode.types"
57+
"tszConfigDeamon": "./XEngine_Config/XEngine_DeamonConfig.json",
58+
"tszConfigHTTPMime": "./XEngine_Config/HttpMime.types",
59+
"tszConfigHTTPCode": "./XEngine_Config/HttpCode.types"
5860
},
59-
"XShortLink":{
60-
"tszHostUrl":"url.xyry.org",
61-
"nHTTPCode":301
61+
"XShortLink": {
62+
"tszHostUrl": "url.xyry.org",
63+
"nHTTPCode": 301
6264
},
63-
"XVerification":{
64-
"tszUserName":"xyry",
65-
"tszUserPass":"11",
66-
"st_VerSwitch":{
67-
"bBackService":false,
68-
"bDeamon":false
65+
"XVerification": {
66+
"tszUserName": "xyry",
67+
"tszUserPass": "11",
68+
"st_VerSwitch": {
69+
"bBackService": false,
70+
"bDeamon": false
6971
}
7072
},
71-
"XReport":{
72-
"bEnable":true,
73-
"tszAPIUrl":"http://app.xyry.org:5501/api?function=machine",
74-
"tszServiceName":"XEngine_APIService"
73+
"XReport": {
74+
"bEnable": true,
75+
"tszAPIUrl": "http://app.xyry.org:5501/api?function=machine",
76+
"tszServiceName": "XEngine_APIService"
7577
},
76-
"XImageText":{
77-
"bEnable":true,
78-
"tszImagePath":"./XEngine_Config/tessdata",
79-
"tszImageLanguage":"chi_sim+eng"
78+
"XImageText": {
79+
"bEnable": true,
80+
"tszImagePath": "./XEngine_Config/tessdata",
81+
"tszImageLanguage": "chi_sim+eng"
8082
},
8183
"XAPIModule": {
8284
"bEnable": true,

XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ typedef struct
2020
bool bShowWnd; //是否显示窗口启动
2121
int nHttpPort; //HTTP服务端口
2222
int nRFCPort; //RFC标准服务端口
23+
int nNTPPort; //NTP服务端口
24+
int nDNSPort; //DNS服务端口
2325
struct
2426
{
2527
int nMaxClient; //最大客户端个数

XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,8 @@ bool CModuleConfigure_Json::ModuleConfigure_Json_File(LPCXSTR lpszConfigFile, XE
7777
pSt_ServerConfig->bShowWnd = st_JsonRoot["bShowWnd"].asBool();
7878
pSt_ServerConfig->nHttpPort = st_JsonRoot["nHttpPort"].asInt();
7979
pSt_ServerConfig->nRFCPort = st_JsonRoot["nRFCPort"].asInt();
80+
pSt_ServerConfig->nNTPPort = st_JsonRoot["nNTPPort"].asInt();
81+
pSt_ServerConfig->nDNSPort = st_JsonRoot["nDNSPort"].asInt();
8082

8183
if (st_JsonRoot["XMax"].empty() || (4 != st_JsonRoot["XMax"].size()))
8284
{

XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,8 @@ extern XHANDLE xhLog;
132132
//HTTP服务器
133133
extern XHANDLE xhHTTPSocket;
134134
extern XHANDLE xhRFCSocket;
135+
extern XHANDLE xhNTPSocket;
136+
extern XHANDLE xhDNSSocket;
135137
extern XHANDLE xhHTTPHeart;
136138
extern XHANDLE xhHTTPPacket;
137139
extern XHANDLE xhHTTPPool;

XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.cpp

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ XHANDLE xhLog = NULL;
1616
//HTTP服务器
1717
XHANDLE xhHTTPSocket = NULL;
1818
XHANDLE xhRFCSocket = NULL;
19+
XHANDLE xhNTPSocket = NULL;
20+
XHANDLE xhDNSSocket = NULL;
1921
XHANDLE xhHTTPHeart = NULL;
2022
XHANDLE xhHTTPPacket = NULL;
2123
XHANDLE xhHTTPPool = NULL;
@@ -35,6 +37,8 @@ void ServiceApp_Stop(int signo)
3537
//销毁HTTP资源
3638
NetCore_TCPXCore_DestroyEx(xhHTTPSocket);
3739
NetCore_UDPXCore_DestroyEx(xhRFCSocket);
40+
NetCore_UDPXCore_DestroyEx(xhNTPSocket);
41+
NetCore_UDPXCore_DestroyEx(xhDNSSocket);
3842
SocketOpt_HeartBeat_DestoryEx(xhHTTPHeart);
3943
HttpProtocol_Server_DestroyEx(xhHTTPPacket);
4044
ManagePool_Thread_NQDestroy(xhHTTPPool);
@@ -365,6 +369,40 @@ int main(int argc, char** argv)
365369
{
366370
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("启动服务中,RFC服务没有被启用"));
367371
}
372+
if (st_ServiceConfig.nNTPPort > 0)
373+
{
374+
//网络
375+
xhNTPSocket = NetCore_UDPXCore_StartEx(st_ServiceConfig.nNTPPort, st_ServiceConfig.st_XMax.nIOThread);
376+
if (NULL == xhNTPSocket)
377+
{
378+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,启动NTP网络服务器失败,错误:%lX"), NetCore_GetLastError());
379+
goto XENGINE_SERVICEAPP_EXIT;
380+
}
381+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,启动NTP网络服务器成功,NTP端口:%d,IO:%d"), st_ServiceConfig.nNTPPort, st_ServiceConfig.st_XMax.nIOThread);
382+
NetCore_UDPXCore_RegisterCallBackEx(xhNTPSocket, Network_Callback_NTPRecv);
383+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,注册NTP网络事件成功"));
384+
}
385+
else
386+
{
387+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("启动服务中,NTP服务没有被启用"));
388+
}
389+
if (st_ServiceConfig.nDNSPort > 0)
390+
{
391+
//网络
392+
xhDNSSocket = NetCore_UDPXCore_StartEx(st_ServiceConfig.nDNSPort, st_ServiceConfig.st_XMax.nIOThread);
393+
if (NULL == xhDNSSocket)
394+
{
395+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,启动DNS网络服务器失败,错误:%lX"), NetCore_GetLastError());
396+
goto XENGINE_SERVICEAPP_EXIT;
397+
}
398+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,启动DNS网络服务器成功,DNS端口:%d,IO:%d"), st_ServiceConfig.nDNSPort, st_ServiceConfig.st_XMax.nIOThread);
399+
NetCore_UDPXCore_RegisterCallBackEx(xhDNSSocket, Network_Callback_DNSRecv);
400+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,注册DNS网络事件成功"));
401+
}
402+
else
403+
{
404+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("启动服务中,DNS服务没有被启用"));
405+
}
368406
//初始化P2P
369407
if (st_ServiceConfig.st_XTime.nP2PTimeOut > 0)
370408
{
@@ -552,6 +590,8 @@ int main(int argc, char** argv)
552590
//销毁HTTP资源
553591
NetCore_TCPXCore_DestroyEx(xhHTTPSocket);
554592
NetCore_UDPXCore_DestroyEx(xhRFCSocket);
593+
NetCore_UDPXCore_DestroyEx(xhNTPSocket);
594+
NetCore_UDPXCore_DestroyEx(xhDNSSocket);
555595
SocketOpt_HeartBeat_DestoryEx(xhHTTPHeart);
556596
HttpProtocol_Server_DestroyEx(xhHTTPPacket);
557597
ManagePool_Thread_NQDestroy(xhHTTPPool);

XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Network.cpp

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,14 @@ void XCALLBACK Network_Callback_RFCRecv(LPCXSTR lpszClientAddr, XSOCKET hSocket,
4444
//STUN消息的类型字段(前两位为00)以及魔术cookie字段
4545
RFCTask_Stun_Parse(lpszClientAddr, lpszMSGBuffer, nMSGLen);
4646
}
47-
else if (nMSGLen == 48)
48-
{
49-
RFCTask_NTP_Parse(lpszClientAddr, lpszMSGBuffer, nMSGLen);
50-
}
47+
}
48+
void XCALLBACK Network_Callback_NTPRecv(LPCXSTR lpszClientAddr, XSOCKET hSocket, LPCXSTR lpszMSGBuffer, int nMSGLen, XPVOID lParam)
49+
{
50+
RFCTask_NTP_Parse(lpszClientAddr, lpszMSGBuffer, nMSGLen);
51+
}
52+
void XCALLBACK Network_Callback_DNSRecv(LPCXSTR lpszClientAddr, XSOCKET hSocket, LPCXSTR lpszMSGBuffer, int nMSGLen, XPVOID lParam)
53+
{
54+
5155
}
5256
//////////////////////////////////////////////////////////////////////////网络IO关闭操作
5357
void XEngine_Network_Close(LPCXSTR lpszClientAddr, bool bHeart)

XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Network.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ void XCALLBACK Network_Callback_HTTPLeave(LPCXSTR lpszClientAddr, XSOCKET hSocke
1717
void XCALLBACK Network_Callback_HTTPHeart(LPCXSTR lpszClientAddr, XSOCKET hSocket, int nStatus, XPVOID lParam);
1818
//RFC相关
1919
void XCALLBACK Network_Callback_RFCRecv(LPCXSTR lpszClientAddr, XSOCKET hSocket, LPCXSTR lpszMSGBuffer, int nMSGLen, XPVOID lParam);
20+
void XCALLBACK Network_Callback_NTPRecv(LPCXSTR lpszClientAddr, XSOCKET hSocket, LPCXSTR lpszMSGBuffer, int nMSGLen, XPVOID lParam);
21+
void XCALLBACK Network_Callback_DNSRecv(LPCXSTR lpszClientAddr, XSOCKET hSocket, LPCXSTR lpszMSGBuffer, int nMSGLen, XPVOID lParam);
2022
//关闭与发送
2123
void XEngine_Network_Close(LPCXSTR lpszClientAddr, bool bHeart);
2224
bool XEngine_Network_Send(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen);

0 commit comments

Comments
 (0)