⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inihead.cpp

📁 中国联通短信网络协议SGIP,可直接与联通短信网关相连
💻 CPP
字号:
#include "stdafx.h"
#include <io.h>
#include <stdio.h>
#include "inihead.h"

#define InitFileName ".\\SgipIni.ini"

DEF_SERVICE services[MAXSERVICE]={0};
UINT TCP_PORT,UDP_PORT_USER,UDP_PORT_READ,UDP_PORT_SEND,TRAFFIC,SENDTIMES,TIME_OUT,SOURCODE;
char SERVER_ADR[30],LOG_NAME[20],LOG_PASSWORD[15],SERVER_7199[30],CORPID[30],SPNUMBER[30];
char MoString[10][100];
char MoToAddr[10][30];

void SetSystemPara();
void GetSystemInform(char *TitleName,char *KeyName,char *str)
{
	GetPrivateProfileString (TitleName,KeyName,"",str,100,InitFileName);
}
int GetSystemInt(char *TitleName,char *KeyName)
{
	char str[20];
	GetPrivateProfileString (TitleName,KeyName,"0",str,20,InitFileName);
	return atoi(str);
}
long GetSystemLong(char *TitleName,char *KeyName)
{
	char str[20];
	GetPrivateProfileString (TitleName,KeyName,"0",str,20,InitFileName);
	return atol(str);
}
bool GetSystemBool(char *TitleName,char *KeyName)
{
	char str[10];
	GetPrivateProfileString (TitleName,KeyName,"0",str,20,InitFileName);
	if (atoi(str)==0) return false;
	return true;
}
char GetSystemChar(char *TitleName,char *KeyName)
{
	char str[10];
	GetPrivateProfileString (TitleName,KeyName,"",str,6,InitFileName);
	return str[0];
}
void SetSystemPara()
{
	char ss[100];

    if((access(InitFileName,0)==0)) {
		TCP_PORT=GetSystemInt("System","TCP_PORT");
		UDP_PORT_USER=GetSystemInt("System","UDP_PORT_USER");
		UDP_PORT_READ=GetSystemInt("System","UDP_PORT_READ");
		UDP_PORT_SEND=GetSystemInt("System","UDP_PORT_SEND");
		TRAFFIC=GetSystemInt("System","TRAFFIC");
		SENDTIMES=GetSystemInt("System","SENDTIMES");
		GetSystemInform("System","SERVER_ADR",SERVER_ADR);
		GetSystemInform("System","LOG_NAME",LOG_NAME);
		GetSystemInform("System","LOG_PASSWORD",LOG_PASSWORD);
		TIME_OUT=GetSystemInt("System","TIME_OUT");
		SOURCODE=GetSystemInt("System","SOURCODE");
		GetSystemInform("System","CORPID",CORPID);
		GetSystemInform("System","SPNUMBER",SPNUMBER);

		GetSystemInform("System","SERVER_7199",SERVER_7199);

		for (int i=0;i<MAXSERVICE;i++) {
			sprintf(ss,"SERVICETYPE%d",i); GetSystemInform("Where",ss,services[i].servicetype);
			sprintf(ss,"IPADDRESS%d",i);  GetSystemInform("Where",ss,services[i].ipaddress);
			sprintf(ss,"GATEADDRESS%d",i);  GetSystemInform("Where",ss,services[i].gateaddr);
		}
		return;
    }
	WritePrivateProfileString("System","Title","上海海港通信技术有限公司",InitFileName);
	WritePrivateProfileString("System","TCP_PORT","8801",InitFileName);
	WritePrivateProfileString("System","UDP_PORT_USER","1000",InitFileName);
	WritePrivateProfileString("System","UDP_PORT_READ","2000",InitFileName);
	WritePrivateProfileString("System","UDP_PORT_SEND","3000",InitFileName);
	WritePrivateProfileString("System","TRAFFIC","100",InitFileName);
	WritePrivateProfileString("System","SENDTIMES","5",InitFileName);
	WritePrivateProfileString("System","SERVER_ADR","10.103.100.120",InitFileName);
	WritePrivateProfileString("System","LOG_NAME","HGService",InitFileName);
	WritePrivateProfileString("System","LOG_PASSWORD","200042",InitFileName);
	WritePrivateProfileString("System","TIME_OUT","20",InitFileName);
	WritePrivateProfileString("System","SOURCODE","367199",InitFileName);
	WritePrivateProfileString("System","CORPID","67199",InitFileName);
	WritePrivateProfileString("System","SPNUMBER","7199",InitFileName);

	WritePrivateProfileString("System","SERVER_7199","128.1.0.50",InitFileName);

	WritePrivateProfileString("Where","SERVICETYPE0",",HY,HYCX,HYVIP,HYD,",InitFileName);
	WritePrivateProfileString("Where","IPADDRESS0","10.104.10.104",InitFileName);
	WritePrivateProfileString("Where","GATEADDRESS0","",InitFileName);

}

int GetService(char *id,char *msgstr,char *opt,char *addr)
{
	int i,j,flag=0;
	char serstr[30]={0},*ptr,ss[30];

	if (id[0]!=0) {
		memcpy(ss,id,2);ss[2]=0;
		sprintf(serstr,",%s,",ss);
		for (i=0;i<MAXSERVICE;i++) {
			if (strstr(services[i].servicetype,serstr)!=NULL) {
				strcpy(addr,services[i].ipaddress);
				strcpy(opt,ss);
				return i;
			}
		}
	}
	j=0;
	for (i=0;i<10;i++) {
		if (flag==0) {
		    if ((toupper(msgstr[i])>='A')&&(toupper(msgstr[i])<='Z')) {
				ss[j++]=toupper(msgstr[i]);
			}else
				if (j>1) break;
		}
	}
	ss[j]=0;ss[6]=0;
	sprintf(serstr,",%s,",ss);
	for (i=0;i<MAXSERVICE;i++) {
		if (strstr(services[i].servicetype,serstr)!=NULL) {
			strcpy(addr,services[i].ipaddress);
			strcpy(opt,ss);
			return i;
		}
	}

	flag=0;
	if ((ptr=strstr(msgstr,"13"))!=NULL) {
		memcpy(serstr,ptr,11);serstr[11]=0;
		for (int i=0;i<11;i++) {
			if ((serstr[i]<'0')||(serstr[i]>'9')) {
				flag=1;
			}
		}
		if (flag==0) {
			for (i=0;i<MAXSERVICE;i++) {
				if (strstr(services[i].servicetype,",TH,")!=NULL) {
					strcpy(msgstr,serstr);
					strcpy(serstr,"TH");
					strcpy(addr,services[i].ipaddress);
					strcpy(opt,serstr);
					return i;
				}
			}
		}
	}
	strcpy(opt,"");
	strcpy(addr,SERVER_7199);
	return -1;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -