378 lines
12 KiB
C
378 lines
12 KiB
C
|
// Sgip.h: interface for the CSgip class.
|
|||
|
//
|
|||
|
//////////////////////////////////////////////////////////////////////
|
|||
|
|
|||
|
#if !defined(AFX_SGIP_H__7DF8EA3F_89A5_4FC9_8D87_131385D01734__INCLUDED_)
|
|||
|
#define AFX_SGIP_H__7DF8EA3F_89A5_4FC9_8D87_131385D01734__INCLUDED_
|
|||
|
|
|||
|
#if _MSC_VER > 1000
|
|||
|
#pragma once
|
|||
|
#endif // _MSC_VER > 1000
|
|||
|
|
|||
|
//#define SGIP_3_0 //cmpp<70><70><EFBFBD><EFBFBD>3.0
|
|||
|
|
|||
|
/*
|
|||
|
#include "Winsock2.h"
|
|||
|
#pragma comment(lib, "Ws2_32.lib")
|
|||
|
*/
|
|||
|
#pragma pack( push )
|
|||
|
#pragma pack( 1 )
|
|||
|
|
|||
|
typedef struct _Sgip_Data_Recv
|
|||
|
{
|
|||
|
ULONG lDataLen; //Ӧ<><D3A6><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
|
|||
|
ULONG lRecvLen; //<2F><><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
|
|||
|
BOOL bRecvFrame; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Frame;
|
|||
|
BYTE * pRecvFrame; //<2F>յ<EFBFBD><D5B5><EFBFBD>Frame
|
|||
|
}Sgip_Data_Recv;
|
|||
|
|
|||
|
typedef struct _Sgip_SeqID
|
|||
|
{
|
|||
|
ULONG Node_Id;
|
|||
|
ULONG Time;
|
|||
|
ULONG Sequence_Id;
|
|||
|
}Sgip_SeqID;
|
|||
|
typedef struct _Sgip_Head
|
|||
|
{
|
|||
|
ULONG Total_Length;
|
|||
|
ULONG Command_Id;
|
|||
|
Sgip_SeqID SeqID;
|
|||
|
}Sgip_Head;
|
|||
|
|
|||
|
typedef struct _Sgip_Bind
|
|||
|
{
|
|||
|
UCHAR LoginType;
|
|||
|
char LoginName[16];
|
|||
|
char LoginPasswd[16];
|
|||
|
char Reserve[8];
|
|||
|
}Sgip_Bind;
|
|||
|
typedef struct _Sgip_Bind_Resp
|
|||
|
{
|
|||
|
UCHAR Result;
|
|||
|
char Reserve[8];
|
|||
|
}Sgip_Bind_Resp;
|
|||
|
|
|||
|
|
|||
|
typedef struct _Sgip_Submit
|
|||
|
{
|
|||
|
UCHAR SPNumber[21];
|
|||
|
UCHAR ChargeNumber[21];
|
|||
|
UCHAR UserCount;
|
|||
|
UCHAR UserNumber[21];
|
|||
|
UCHAR CorpId[5];
|
|||
|
UCHAR ServiceType[10];
|
|||
|
UCHAR FeeType;
|
|||
|
UCHAR FeeValue[6];
|
|||
|
UCHAR GivenValue[6];
|
|||
|
UCHAR AgentFlag;
|
|||
|
UCHAR MorelatetoMTFlag;
|
|||
|
UCHAR Priority;
|
|||
|
UCHAR ExpireTime[16];
|
|||
|
UCHAR ScheduleTime[16];
|
|||
|
UCHAR ReportFlag;
|
|||
|
UCHAR TP_pid;
|
|||
|
UCHAR TP_udhi;
|
|||
|
UCHAR MessageCoding;
|
|||
|
UCHAR MessageType;
|
|||
|
ULONG MessageLength;
|
|||
|
}Sgip_Submit;
|
|||
|
typedef struct _Sgip_Submit_Resp
|
|||
|
{
|
|||
|
UCHAR Result;
|
|||
|
char Reserve[16];
|
|||
|
}Sgip_Submit_Resp;
|
|||
|
typedef struct _Sgip_Send_List
|
|||
|
{
|
|||
|
ULONG lSendID; //<2F><><EFBFBD>ݿ<EFBFBD><DDBF>м<EFBFBD>¼<EFBFBD><C2BC>SendID
|
|||
|
Sgip_SeqID lSeq; //<2F><><EFBFBD><EFBFBD>cmpp<70><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Sgip_SeqID lSgipSeq; //ʹ<><CAB9>cmppת<70>ӵ<EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>
|
|||
|
ULONG lSendTime; //<2F><><EFBFBD><EFBFBD>һ<EFBFBD>η<EFBFBD><CEB7><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
ULONG lReSendCount; //<2F>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6>ٴ<EFBFBD>
|
|||
|
UCHAR Msg[512]; //<2F><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
|||
|
Sgip_Submit Submit;
|
|||
|
}Sgip_Send_List;
|
|||
|
//<2F><><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>״̬
|
|||
|
typedef struct _Sgip_Send_Resp
|
|||
|
{
|
|||
|
ULONG lSendID; //<2F><><EFBFBD>ݿ<EFBFBD><DDBF>м<EFBFBD>¼<EFBFBD><C2BC>SendID
|
|||
|
ULONG lResult; //<2F><><EFBFBD><EFBFBD>״̬
|
|||
|
ULONG lReSendCount; //<2F>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6>ٴ<EFBFBD>
|
|||
|
Sgip_SeqID lMsgID; //<2F><><EFBFBD>ͳɹ<CDB3>ʱ<EFBFBD>д˷<D0B4><CBB7><EFBFBD>
|
|||
|
}Sgip_Send_Resp;
|
|||
|
|
|||
|
typedef struct _Sgip_Deliver
|
|||
|
{
|
|||
|
UCHAR UserNumber[21];
|
|||
|
UCHAR SPNumber[21];
|
|||
|
UCHAR TP_pid;
|
|||
|
UCHAR TP_udhi;
|
|||
|
UCHAR MessageCoding;
|
|||
|
ULONG MessageLength;
|
|||
|
}Sgip_Deliver;
|
|||
|
|
|||
|
|
|||
|
typedef struct _Sgip_Deliver_Resp
|
|||
|
{
|
|||
|
UCHAR Result;
|
|||
|
CHAR Reserve[8];
|
|||
|
}Sgip_Deliver_Resp;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
typedef struct _Sgip_Report
|
|||
|
{
|
|||
|
Sgip_SeqID lMsgID;
|
|||
|
UCHAR ReportType;
|
|||
|
UCHAR UserNumber[21];
|
|||
|
UCHAR State;
|
|||
|
UCHAR ErrorCode;
|
|||
|
CHAR Reserve[8];
|
|||
|
}Sgip_Report;
|
|||
|
typedef struct _Sgip_Report_Resp
|
|||
|
{
|
|||
|
UCHAR Result;
|
|||
|
CHAR Reserve[8];
|
|||
|
}Sgip_Report_Resp;
|
|||
|
|
|||
|
typedef struct _Sgip_Deliver_List
|
|||
|
{
|
|||
|
ULONG lSendID;
|
|||
|
Sgip_SeqID lMsgID;
|
|||
|
Sgip_Deliver deliver;
|
|||
|
Sgip_Report status;
|
|||
|
UCHAR szMsg[512];
|
|||
|
}Sgip_Deliver_List;
|
|||
|
|
|||
|
|
|||
|
#define MAX_SGIPEXCHANGE 50
|
|||
|
typedef struct _SgipExchange
|
|||
|
{
|
|||
|
char szNum[32]; //<2F>˿ں<CBBF>
|
|||
|
SOCKET sock; //Socket<65>ӿ<EFBFBD>
|
|||
|
long lIndex; //<2F><><EFBFBD><EFBFBD>
|
|||
|
ULONG lID; //<2F>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
ULONG lExID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
|
|||
|
long lSendCount; //<2F><><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>
|
|||
|
long lSendRetCount; //<2F><><EFBFBD>ͷ<EFBFBD><CDB7>ؼ<EFBFBD><D8BC><EFBFBD>
|
|||
|
char szIP[32];
|
|||
|
ULONG lNodeID;
|
|||
|
ULONG Sequence_Id;
|
|||
|
}SgipExchange;
|
|||
|
|
|||
|
|
|||
|
typedef struct _SgipExchangeResp
|
|||
|
{
|
|||
|
long lType; //0 Submit rest , 1 deliver
|
|||
|
long lSendID; //<2F><><EFBFBD><EFBFBD>ID , lType==0ʱ<30><CAB1>Ч
|
|||
|
char szNum[32]; //Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, lType==1ʱ<31><CAB1>Ч
|
|||
|
long lExNum; //adc<64><63><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>ʱ<EFBFBD>õ<EFBFBD>
|
|||
|
long lLen;
|
|||
|
ULONG lCmd;
|
|||
|
Sgip_SeqID lSeq;
|
|||
|
BYTE Data[512];
|
|||
|
}SgipExchangeResp;
|
|||
|
|
|||
|
typedef struct _Sgip_Recv_ProcessT
|
|||
|
{
|
|||
|
LPVOID p;
|
|||
|
SOCKET sock;
|
|||
|
}Sgip_Recv_ProcessT;
|
|||
|
|
|||
|
#pragma pack( pop )
|
|||
|
|
|||
|
typedef void (*RECVPROC)(Data_Recv * pDataRecv);
|
|||
|
|
|||
|
#define SGIP_PORT 8801 //cmpp<70>˿ں<CBBF>
|
|||
|
#define SGIP_EXCHANGE_PORT 9901
|
|||
|
#define SGIP_EXCHANGE_PORT2 9902 //adc<64>£<EFBFBD><C2A3><EFBFBD><EFBFBD>ô˶˿<CBB6>
|
|||
|
#define SGIP_EXCHANGE_TPORT 6602 //״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵Ķ˿<C4B6>
|
|||
|
|
|||
|
#define SGIP_BIND 0x00000001 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define SGIP_BIND_RESP 0x80000001 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|||
|
#define SGIP_UNBIND 0x00000002 //<2F><>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD>
|
|||
|
#define SGIP_UNBIND_RESP 0x80000002 //<2F><>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|||
|
#define SGIP_SUBMIT 0x00000003 //<2F>ύ<EFBFBD><E1BDBB><EFBFBD><EFBFBD>
|
|||
|
#define SGIP_SUBMIT_RESP 0x80000003 //<2F>ύ<EFBFBD><E1BDBB><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|||
|
#define SGIP_DELIVER 0x00000004 //<2F><><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD>
|
|||
|
#define SGIP_DELIVER_RESP 0x80000004 //<2F>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|||
|
#define SGIP_REPORT 0x00000005 //״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
#define SGIP_REPORT_RESP 0x80000005 //״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
#define SGIP_QUERY 0x00000006 //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>״̬<D7B4><CCAC>ѯ
|
|||
|
#define SGIP_QUERY_RESP 0x80000006 //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>״̬<D7B4><CCAC>ѯӦ<D1AF><D3A6>
|
|||
|
#define SGIP_CANCEL 0x00000007 //ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define SGIP_CANCEL_RESP 0x80000007 //ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|||
|
#define SGIP_ACTIVE_TEST 0x00000008 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define SGIP_ACTIVE_TEST_RESP 0x80000008 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|||
|
#define SGIP_FWD 0x00000009 //<2F><>Ϣǰת
|
|||
|
#define SGIP_FWD_RESP 0x80000009 //<2F><>ϢǰתӦ<D7AA><D3A6>
|
|||
|
#define SGIP_MT_ROUTE 0x00000010 //MT·<54><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define SGIP_MT_ROUTE_RESP 0x80000010 //MT·<54><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|||
|
#define SGIP_MO_ROUTE 0x00000011 //MO·<4F><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define SGIP_MO_ROUTE_RESP 0x80000011 //MO·<4F><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|||
|
#define SGIP_GET_ROUTE 0x00000012 //<2F><>ȡ·<C8A1><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define SGIP_GET_ROUTE_RESP 0x80000012 //<2F><>ȡ·<C8A1><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|||
|
#define SGIP_MT_ROUTE_UPDATE 0x00000013 //MT·<54>ɸ<EFBFBD><C9B8><EFBFBD>
|
|||
|
#define SGIP_MT_ROUTE_UPDATE_RESP 0x80000013 //MT·<54>ɸ<EFBFBD><C9B8><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|||
|
#define SGIP_MO_ROUTE_UPDATE 0x00000014 //MO·<4F>ɸ<EFBFBD><C9B8><EFBFBD>
|
|||
|
#define SGIP_MO_ROUTE_UPDATE_RESP 0x80000014 //MO·<4F>ɸ<EFBFBD><C9B8><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|||
|
#define SGIP_PUSH_MT_ROUTE_UPDATE 0x00000015 //MT·<54>ɸ<EFBFBD><C9B8><EFBFBD>
|
|||
|
#define SGIP_PUSH_MT_ROUTE_UPDATE_RESP 0x80000015 //MT·<54>ɸ<EFBFBD><C9B8><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|||
|
#define SGIP_PUSH_MO_ROUTE_UPDATE 0x00000016 //MO·<4F>ɸ<EFBFBD><C9B8><EFBFBD>
|
|||
|
#define SGIP_PUSH_MO_ROUTE_UPDATE_RESP 0x80000016 //MO·<4F>ɸ<EFBFBD><C9B8><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|||
|
|
|||
|
#define SGIP_SMS_MAX_LIST 256 //<2F><><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
#define SGIP_SMS_MAX_RESP 4096 //<2F><><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define SGIP_SMS_MAX_DELIVER 4096 //<2F><><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define SGIP_SMS_MAX_STATUS 4096 //<2F><><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define SGIP_SMS_MAX_SGIPEXCHANGERESP 4096 //<2F><><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
#define SGIP_ACTIVE_TESTTIME 70000 //<2F>ʱ<E0B3A4><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD>
|
|||
|
#define SGIP_ACTIVE_TIMEOUT 50000 //<2F><>·<EFBFBD><C2B7><EFBFBD>ⳬʱʱ<CAB1><CAB1>
|
|||
|
#define SGIP_ACTIVE_COUNTOUT 3 //<2F><>·<EFBFBD><C2B7><EFBFBD>ⳬ<EFBFBD><E2B3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define SGIP_SENDSMS_TIMEOUT 30000 //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6>ų<EFBFBD>ʱʱ<CAB1><CAB1>
|
|||
|
#define SGIP_SENDSMS_RECOUNT 1 //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD>
|
|||
|
|
|||
|
//typedef CTypedPtrList<CPtrList, Sgip_Send_List*> CSendList;
|
|||
|
//typedef CTypedPtrList<CPtrList, Sgip_Send_Resp*> CSendResp;
|
|||
|
//typedef CTypedPtrList<CPtrList, Sgip_Deliver_List*> CDeliverList;
|
|||
|
class CSgip
|
|||
|
{
|
|||
|
public:
|
|||
|
SOCKET m_hSocket;
|
|||
|
char m_szIP[64];
|
|||
|
long m_lPort;
|
|||
|
long m_lLocalPort;
|
|||
|
ULONG m_lNodeID;
|
|||
|
BOOL m_bQuitThread;
|
|||
|
DWORD m_dwEndSendTime;
|
|||
|
DWORD m_dwEndRecvTime;
|
|||
|
DWORD m_dwTestCount;
|
|||
|
BOOL m_bRecvFrame;
|
|||
|
BOOL m_bConnect;
|
|||
|
long m_bLoginSgip;
|
|||
|
//CSendList m_SendList;
|
|||
|
//CSendResp m_SendResp;
|
|||
|
//CDeliverList m_DeliverList;
|
|||
|
|
|||
|
ULONG m_lSendID;
|
|||
|
Sgip_Send_List * m_pSendList;
|
|||
|
Sgip_Send_Resp * m_pRespList;
|
|||
|
Sgip_Deliver_List* m_pDeliverList;
|
|||
|
Sgip_Deliver_List* m_pStatusList;
|
|||
|
SgipExchangeResp * m_pSgipExchangeResp;
|
|||
|
|
|||
|
CmppExchange * m_pSgipExchange;
|
|||
|
long m_lSgipExchange;
|
|||
|
|
|||
|
long m_lSendList;
|
|||
|
long m_lRespList;
|
|||
|
long m_lDeliverList;
|
|||
|
long m_lStatusList;
|
|||
|
long m_lSgipExchangeRespList;
|
|||
|
|
|||
|
char m_szSgipIP[32];
|
|||
|
char m_szSgipUser[32];
|
|||
|
char m_szSgipPasswd[32];
|
|||
|
char m_szSgipCorpID[32];
|
|||
|
|
|||
|
BOOL m_bInitSgip;
|
|||
|
|
|||
|
CRITICAL_SECTION m_CriSendSms;
|
|||
|
CRITICAL_SECTION m_CriRespList;
|
|||
|
CRITICAL_SECTION m_CriDeliverList;
|
|||
|
CRITICAL_SECTION m_CriStatusList;
|
|||
|
CRITICAL_SECTION m_CriSgipExchangeResp;
|
|||
|
|
|||
|
BOOL m_bAdc;
|
|||
|
|
|||
|
|
|||
|
ULONG m_lID;
|
|||
|
RECVPROC m_pRecvProc;
|
|||
|
|
|||
|
//<2F><><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
SOCKET m_hRecv_Socket;
|
|||
|
char m_szRecvIP[32];
|
|||
|
long m_lRecvPort;
|
|||
|
BOOL m_bRecvInit;
|
|||
|
BOOL m_bQuitThread_Recv;
|
|||
|
|
|||
|
//<2F><><EFBFBD>ڿ<EFBFBD><DABF>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>ٶ<EFBFBD>
|
|||
|
DWORD m_dwEndSocketSendTime; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŷ<EFBFBD><C5B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
long m_lSendInterval; //<2F><><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
long m_lSendIntervalCount; //<2F><><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
long m_lSendIntervalIndex; //<2F><><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>ͳ<EFBFBD><CDB3>
|
|||
|
|
|||
|
HANDLE m_hThread;
|
|||
|
HANDLE m_hThread_Recv;
|
|||
|
HANDLE m_hThread_Send;
|
|||
|
|
|||
|
CRITICAL_SECTION m_CriErrMsg;
|
|||
|
CString m_strErrMsg;
|
|||
|
|
|||
|
public:
|
|||
|
BOOL Sms_Get(Sgip_Send_List*& pSms);
|
|||
|
BOOL Sms_Add(Sgip_Send_List sms);
|
|||
|
long GetWFSms();
|
|||
|
BOOL isConnectGateWay();
|
|||
|
void SetErrMsg(CString str);
|
|||
|
CString GetErrMsg();
|
|||
|
|
|||
|
long GetReportSms();
|
|||
|
void SetSendSpeed(long lSpeed);
|
|||
|
BOOL Sgip_Recv_Exit();
|
|||
|
static UINT Sgip_Recv_Process(LPVOID sParam);
|
|||
|
static UINT Sgip_Recv_Accept(LPVOID sParam);
|
|||
|
long Sgip_Recv(const char *pIP,long lPort);
|
|||
|
void SetSgipExchangeNum(CmppExchange * pSgipExchange , long lSgipExchange);
|
|||
|
BOOL SgipExchangeResp_Add(SgipExchangeResp resp);
|
|||
|
BOOL GetSgipExchangeResp(SgipExchangeResp &resp);
|
|||
|
long Sgip_GetReport(TCHAR * No ,TCHAR * Stat , TCHAR * Done_time,TCHAR * MsgID );
|
|||
|
long Sgip_Get(TCHAR *SendNo,TCHAR * RecvNo, BYTE *Msg, TCHAR *Msg_Fmt, TCHAR *Msg_Length ,long & lLongMsgRand ,long & lLongMsgAll, long & lLongMsgIndex);
|
|||
|
BOOL Status_Add(Sgip_Deliver_List Deliver);
|
|||
|
BOOL GetStatus(Sgip_Deliver_List &deliver);
|
|||
|
int CharHex(char ch);
|
|||
|
void AsciiToHex(const char *pszOrgRandom , TCHAR *pszDesRandom , long lLen);
|
|||
|
void ExchangeUniCode( char * pData );
|
|||
|
void HexToAscii(const char *pszOrgRandom , char *pszDesRandom );
|
|||
|
long AsciiToUCS2(const char * pAscii , WCHAR * pUCS2);
|
|||
|
long UCS2ToAscii( const WCHAR * pUCS2 , char * pAscii);
|
|||
|
BOOL isChinese(const TCHAR *pSrc, long lSrcLen);
|
|||
|
unsigned char GetMobilePhoneTON(const char *pSrc, char *pOrg);
|
|||
|
long Sgip_SendSms(const char * SendNo , const char * RecvNo,long Msg_Fmt,long udhi,long Msg_Length,BOOL bHandFree,const BYTE * Msg ,const char * Service_Id,long Fee_UserType,const char * FeeType, const char * FeeCode ,long Registered_Delivery,const char *ValId_Time,const char *At_Time,long lSendID,char * MsgID, BOOL bNo86);
|
|||
|
BOOL Deliver_Add(Sgip_Deliver_List Deliver);
|
|||
|
BOOL SendResp_Add(Sgip_Send_Resp resp);
|
|||
|
void UCS2ToAscii2( char * pUCS2 , char * pAscii , long lSrcLen );
|
|||
|
BOOL Sgip_Exit();
|
|||
|
BOOL GetDeliver(Sgip_Deliver_List &deliver);
|
|||
|
long Process_Report(SOCKET sock,Sgip_Head head,BYTE *pData, long lLen);
|
|||
|
long Process_Deliver(SOCKET sock,Sgip_Head head,BYTE *pData, long lLen);
|
|||
|
long Process_Active(Sgip_Head head,BYTE *pData, long lLen);
|
|||
|
BOOL GetSendResp( Sgip_Send_Resp & resp );
|
|||
|
long Process_Submit(Sgip_Head head,BYTE *pData, long lLen);
|
|||
|
BOOL Socket_SendSms(Sgip_Send_List * pSend );
|
|||
|
long Back_Send();
|
|||
|
BOOL InitSgip2();
|
|||
|
BOOL SendSms(Sgip_Send_List sms );
|
|||
|
long Process_Bind(Sgip_Head head, BYTE * pData , long lLen );
|
|||
|
static long SendFrame(SOCKET sock,ULONG lNodeID , ULONG &lID,DWORD &dwEndSendTime,ULONG lCommandID,UCHAR * pData , long lDataLen,Sgip_SeqID & lSeq );
|
|||
|
long Sgip_Init(const char *pIP,long lPort,long lLocalPort, const char *pUser, const char *pPasswd,const char * pCorpID,const char * pNodeID);
|
|||
|
BOOL RecvFrame(Sgip_Data_Recv &Drecv);
|
|||
|
static BOOL ReadFrame(SOCKET s, Sgip_Data_Recv *pRecv);
|
|||
|
void SetRecvProc(RECVPROC proc);
|
|||
|
static DWORD WINAPI SocketRecv( LPVOID lParam );
|
|||
|
static DWORD WINAPI SocketSend(LPVOID lParam);
|
|||
|
static long Send(SOCKET sock,BYTE *pData, long lLen);
|
|||
|
void Close();
|
|||
|
static BOOL isSocketClose(SOCKET s);
|
|||
|
void Stop();
|
|||
|
BOOL isConnect();
|
|||
|
BOOL Connect2();
|
|||
|
BOOL Connect( const char * pAddr , long lPort , BOOL bReConnect = true );
|
|||
|
CSgip();
|
|||
|
virtual ~CSgip();
|
|||
|
|
|||
|
};
|
|||
|
|
|||
|
#endif // !defined(AFX_SGIP_H__7DF8EA3F_89A5_4FC9_8D87_131385D01734__INCLUDED_)
|