📄 server_info.c
字号:
#include "emv_global.h"#include "emv_dbfunc.h"#include "server_info.h"int giIsMajor = 1;#define PORT_TYPE_UDP 2#define PORT_TYPE_TCP 1char g_platform_ip[MAX_IP_LEN] = "127.0.0.1";int g_platform_id = 1;char g_ip_css[MAX_IP_LEN] = "127.0.0.1";char g_ip_sm[MAX_IP_LEN] = "127.0.0.1";char g_ip_ems[MAX_IP_LEN] = "127.0.0.1";char g_ip_tms[MAX_IP_LEN] = "127.0.0.1";char g_ip_sps[MAX_IP_LEN] = "127.0.0.1";char g_ip_dcs[MAX_IP_LEN] = "127.0.0.1";char g_ip_ms[MAX_IP_LEN] = "127.0.0.1";char g_ip_arppoll[MAX_IP_LEN] = "127.0.0.1";int g_port_css_udp = 3001;int g_port_sm_udp = 3002;int g_port_ems_udp = 3005;int g_port_tms_udp = 3006;int g_port_sps_udp = 3007;int g_port_dcs_udp = 3008;int g_port_ms_udp = 3011;int g_port_arppoll_udp = 3090;static int save_server_record(int iServerId, const char *pServerIp, int iServerPort);int set_major_flag(int flag){ int old_flag; old_flag = giIsMajor; giIsMajor = flag; return old_flag;}int get_major_flag(void){ return giIsMajor;}int init_server_info(const char *platform_ip){ char sql[256]; int retcode; emv_db_record *pDbResult; emv_db_record *pDbRecord; emv_db_field *pDbField; int iRecNum; char sTableName[32]; int iServerId; char *pServerIp; int iServerPort; if (!platform_ip) { emv_debug("platform_ip is null"); return -1; } /* 平台IP */ memset(g_platform_ip, 0, sizeof(g_platform_ip)); strncpy(g_platform_ip, platform_ip, sizeof(g_platform_ip)-1); emv_debug("g_platform_ip[%s]", g_platform_ip); /* 平台ID */ snprintf(sql, sizeof(sql), "select PlatformID from PlatformInfo where PlatformIP='%s'", g_platform_ip); retcode = select_int_result(&g_platform_id, giDbHandle1, sql); if (retcode < 0) { emv_debug("select_int_result failed(%s)", sql); return -1; } emv_debug("g_platform_id[%d]", g_platform_id); /* 获取服务信息 */ memset(sTableName, 0, sizeof(sTableName)); if (giIsMajor) { strncpy(sTableName, "ServerInfo", sizeof(sTableName)-1); } else { strncpy(sTableName, "ServerNatInfo", sizeof(sTableName)-1); } snprintf(sql, sizeof(sql), "select ServerID,ServerIP,ServerPort from %s " "where ServerPortType=%d", sTableName, PORT_TYPE_UDP); pDbResult = emv_db_select(giDbHandle1, sql, &iRecNum); if (iRecNum < 0) { emv_debug("emv_db_select failed(%s)", sql); return -1; } pDbRecord = pDbResult; while (pDbRecord) { pDbField = pDbRecord->field; if (!pDbField) break; iServerId = atoi(pDbField->value); pDbField = pDbField->next; if (!pDbField) break; pServerIp = pDbField->value; pDbField = pDbField->next; if (!pDbField) break; iServerPort = atoi(pDbField->value); save_server_record(iServerId, pServerIp, iServerPort); pDbRecord = pDbRecord->next; } free_record_link(pDbResult); return 0;}int dump_server_info(void){ emv_debug("g_ip_css[%s], g_port_css_udp[%d]", g_ip_css, g_port_css_udp); emv_debug("g_ip_sm[%s], g_port_sm_udp[%d]", g_ip_sm, g_port_sm_udp); emv_debug("g_ip_ems[%s], g_port_ems_udp[%d]", g_ip_ems, g_port_ems_udp); emv_debug("g_ip_tms[%s], g_port_tms_udp[%d]", g_ip_tms, g_port_tms_udp); emv_debug("g_ip_sps[%s], g_port_sps_udp[%d]", g_ip_sps, g_port_sps_udp); emv_debug("g_ip_dcs[%s], g_port_dcs_udp[%d]", g_ip_dcs, g_port_dcs_udp); emv_debug("g_ip_ms[%s], g_port_ms_udp[%d]", g_ip_ms, g_port_ms_udp); emv_debug("g_ip_arppoll[%s], g_port_arppoll_udp[%d]", g_ip_arppoll, g_port_arppoll_udp); return 0;}static int save_server_record(int iServerId, const char *pServerIp, int iServerPort){ if (!pServerIp) { emv_debug("pServerIp is null"); return -1; } switch (iServerId) { case SERVER_ID_CSS: memset(g_ip_css, 0, sizeof(g_ip_css)); strncpy(g_ip_css, pServerIp, sizeof(g_ip_css)-1); g_port_css_udp = iServerPort; break; case SERVER_ID_SM: memset(g_ip_sm, 0, sizeof(g_ip_sm)); strncpy(g_ip_sm, pServerIp, sizeof(g_ip_sm)-1); g_port_sm_udp = iServerPort; break; case SERVER_ID_EMS: memset(g_ip_ems, 0, sizeof(g_ip_ems)); strncpy(g_ip_ems, pServerIp, sizeof(g_ip_ems)-1); g_port_ems_udp = iServerPort; break; case SERVER_ID_TMS: memset(g_ip_tms, 0, sizeof(g_ip_tms)); strncpy(g_ip_tms, pServerIp, sizeof(g_ip_tms)-1); g_port_tms_udp = iServerPort; break; case SERVER_ID_SPS: memset(g_ip_sps, 0, sizeof(g_ip_sps)); strncpy(g_ip_sps, pServerIp, sizeof(g_ip_sps)-1); g_port_sps_udp = iServerPort; break; case SERVER_ID_DCS: memset(g_ip_dcs, 0, sizeof(g_ip_dcs)); strncpy(g_ip_dcs, pServerIp, sizeof(g_ip_dcs)-1); g_port_dcs_udp = iServerPort; break; case SERVER_ID_MS: memset(g_ip_ms, 0, sizeof(g_ip_ms)); strncpy(g_ip_ms, pServerIp, sizeof(g_ip_ms)-1); g_port_ms_udp = iServerPort; break; case SERVER_ID_ARPPOLL: memset(g_ip_arppoll, 0, sizeof(g_ip_arppoll)); strncpy(g_ip_arppoll, pServerIp, sizeof(g_ip_arppoll)-1); g_port_arppoll_udp = iServerPort; break; } return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -