📄 start.cpp
字号:
// Start.cpp: implementation of the CStart class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "EasyTradeService.h"
#include "Start.h"
#include "Cmpp20.h"
#include <stdio.h>
#include <time.h>
#include "Smgp.h"
#include "Sgip.h"
#include "Cngp.h"
#include "xmlfile.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
//#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
void OnSubmitedSMS(SUBMIT_SMS *pSubmited)//发送结果记录返回网关的消息ID和result并且将发送的SUBMIT内容返回
{
static int count=0;
static long timeval=time(NULL);
if(pSubmited)
{
char szbuff[128];
sprintf(szbuff,"submit_resp=%d, timevalue=%d", ++count, time(NULL)- timeval );
}
else
{
count=0;
timeval=time(NULL);
}
//当发送完返回此消息,这里采用动态分配内存有发送时分配,返回时释放
delete pSubmited;
}
/*-------------------------------------------------------------*/
typedef struct _CMMP20
{
long szPORT;//端口号
}Cmmp20_Set;
typedef struct _CMMP30
{
long szPORT;//端口号
}Cmmp30_Set;
typedef struct _SGIP
{
long szPORT;//端口号
}Sgip_Set;
typedef struct _CNGP
{
long szPORT;//端口号
}Cngp_Set;
typedef struct _SMGP
{
long szPORT;//端口号
}Smgp_Set;
typedef struct _SYSSET
{
long szTREAD;//线程池数
long szWND;//滑动窗口大小
}Sys_Set;
/*-----------------------------------------------------------------*/
Sys_Set m_SysSet;
CStart::CStart()
{
// m_xmlFile
// Cmmp_Set.szPORT=990;
// long age= m_xmlFile.GetLong("Student/个况", "年龄", 25);
// std::string strHomeplace =m_xmlFile.GetString ("Student /个况", "籍贯", "浙江嵊州");
// std::string strSex =m_xmlFile. GetString ("Student /个况", "性别", "男");
// m_XmlFile.SetLong("系统设置", "发送超时", 60);
// m_XmlFile.SetLong("系统设置", "重发次数", 3);
}
CStart::~CStart()
{
}
void CStart::Start()
{
// CXMLFile m_XmlFile("file.xml");
// m_XmlFile.load("file.xml ");
// m_XmlFile.GetLong("系统设置", "线程数", m_SysSet.szTREAD);
// m_XmlFile.GetLong("系统设置", "滑动窗口", m_SysSet.szWND);
::CreateThread(0,0,ThreadProcCmpp,this,0,0);//移动CMPP2.0
// ::CreateThread(0,0,ThreadProcSmgp,this,0,0);//网通小灵通
// ::CreateThread(0,0,ThreadProcSgip,this,0,0);//联通Sgip
// ::CreateThread(0,0,ThreadProcCngp,this,0,0);//电信
}
unsigned long _stdcall CStart::ThreadProcSmgp(void *lpvoid)
{
CStart *pThis=(CStart *) lpvoid;
pThis->RunSmgp ();
return 0;
}
unsigned long _stdcall CStart::ThreadProcSgip(void *lpvoid)
{
CStart *pThis=(CStart *) lpvoid;
pThis->RunSgip ();
return 0;
}
unsigned long _stdcall CStart::ThreadProcCmpp(void *lpvoid)
{
CStart *pThis=(CStart *) lpvoid;
pThis->RunCmpp ();
return 0;
}
unsigned long _stdcall CStart::ThreadProcCngp(void *lpvoid)
{
CStart *pThis=(CStart *) lpvoid;
pThis->RunCngp ();
return 0;
}
void CStart::RunCmpp()//移动CMPP2.0
{
Cmmp20_Set m_Cmmp20Set;
CCmpp20 cmpp;
cmpp.Startup("127.0.0.1",//"127.0.0.1",
7890 ,//7890,
"09555","1234","","","",
3,/*线程池数*/
16 , /*滑动窗口大小*/
60,/*发送超时*/
3,/*重发次数*/
0,/*OnDeliver*/
0,/*OnReport*/
OnSubmitedSMS);
while(1)
{
cmpp.OnRecv ();//监听接收消息
if(!(cmpp.buf[65]=='T'))
continue;
memset(cmpp.buf,0,512);
int i=0;
int timevalue=time(0);//!!!!!!!???
OnSubmitedSMS(0);//复位操作
SUBMIT_SMS *szbuff = new SUBMIT_SMS();
::memset(szbuff,0,sizeof(SUBMIT_SMS));
int len;
PK_CMPP20((CMPP_SUBMIT20 *)(szbuff->pkg+ sizeof(CMPP_HEAD20)),
&len,
"123456",
"8888",
"13999999999",
"",
0,
"01",
"000000",
"1001",
15,
::strlen("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"),
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
cmpp.OnSubmitSMS(szbuff,len);
}
}
void CStart::RunSmgp()//网通小灵通
{
char szIP[16];//IP地址
int szPORT=8890;//端口号
int szTREAD=1;//线程池数
int szWND=16;//滑动窗口大小
CSmgp smgp;
smgp.Startup ("127.0.0.1",
szPORT,
0,//int login_mode,
"09555","1234","","","",
szTREAD,
szWND,
60,
3,
0,
0,
OnSubmitedSMS);
while(1)
{
smgp.OnRecv ();//监听接收消息
//if(!(smgp.buf[65]=='T'))
// continue;
// memset(smgp.buf,0,512);
int i=0;
int timevalue=time(0);
OnSubmitedSMS(0);//复位操作
SUBMIT_SMS *szbuff = new SUBMIT_SMS();
::memset(szbuff,0,sizeof(SUBMIT_SMS));
int len;
PK_SMGP((SMGP_SUBMIT *)(szbuff->pkg+ sizeof(SMGP_HEAD)),
&len,
//"123456",--char *corpId
"8888",
"1399999999",
"",
0,//----int subType,6
"0",
"01",
"000000",
1001,
::strlen("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"),
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
// smgp.OnSubmitSMS(szbuff,len);
}
}
void CStart::RunSgip()//联通
{
char szIP[16];//IP地址
int szPORT=8802;//端口号
int szTREAD=1;//线程池数
int szWND=16;//滑动窗口大小
CSgip sgip;
sgip.Startup("127.0.0.1",
szPORT,
0,//int listenport
0,//int login_mode,
"test","test","","","",
szTREAD,
szWND,
60,
3,
0,
0,
OnSubmitedSMS);
while(1)
{
sgip.OnRecv ();//监听接收消息
// if(!(sgip.buf[65]=='T'))
// continue;
// memset(sgip.buf,0,512);
int i=0;
int timevalue=time(0);//!!!!!!!???
OnSubmitedSMS(0);//复位操作
SUBMIT_SMS *szbuff = new SUBMIT_SMS();
::memset(szbuff,0,sizeof(SUBMIT_SMS));
int len;
/* PK_SGIP((SGIP_SUBMIT *)(szbuff->pkg+ sizeof(SGIP_HEAD)),
&len,
"123456",
"8888",
"13999999999",
"",
0,
"01",
0,//int moRelatetoMTFla
"000000",
"1001",
15,
::strlen("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"),
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
0);//char* linkId*/
// cmpp.OnSubmitSMS(szbuff,len);
}
}
void CStart::RunCngp()//电信
{
char szIP[16];//IP地址
int szPORT=8890;//端口号
int szTREAD=1;//线程池数
int szWND=16;//滑动窗口大小
CCngp Cngp;
/* Cngp.Startup ("127.0.0.1",
szPORT,
0,//int login_mode,
"09555","1234","","","",
szTREAD,
szWND,
60,
3,
0,
0,
OnSubmitedSMS);*/
// while(1)
// {
Cngp.OnRecv ();//监听接收消息
//if(!(smgp.buf[65]=='T'))
// continue;
// memset(smgp.buf,0,512);
/* int i=0;
int timevalue=time(0);
OnSubmitedSMS(0);//复位操作
SUBMIT_SMS *szbuff = new SUBMIT_SMS();
::memset(szbuff,0,sizeof(SUBMIT_SMS));
int len;
PK_SMGP((SMGP_SUBMIT *)(szbuff->pkg+ sizeof(SMGP_HEAD)),
&len,
//"123456",--char *corpId
"8888",
"1399999999",
"",
0,//----int subType,6
"0",
"01",
"000000",
1001,
::strlen("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"),
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
// smgp.OnSubmitSMS(szbuff,len);
}*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -