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

📄 managersocket.h

📁 CMPP3.0模拟网关
💻 H
字号:
// ManagerSocket.h: interface for the CManagerSocket class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_MANAGERSOCKET_H__45360A45_6984_49F4_9D7F_B94981D22228__INCLUDED_)
#define AFX_MANAGERSOCKET_H__45360A45_6984_49F4_9D7F_B94981D22228__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "ServerSocket.h"
#include "ClientSocket.h"
#include "CmppMessage.h"
#include <afxmt.h>
#include <afxtempl.h>

class CManagerSocket  
{
public:
	CManagerSocket();
	virtual ~CManagerSocket();
	void StartSocketSrv();
	void StopSocketSrv();
	void AcceptClient();
	int ReceiveMsg(CClientSocket *sock);
	void InitialSocketThread();
	void DeliverMsg(const char *Destnationid, const char *service_id, 
							   int TP_pid, int TP_udhi, int msg_fmt, const char *src_term_id, int msg_len, const char *msg);
	void ShowMessage(const char *buffer1, const char *buffer2, int buffer2len);

	CString m_sShowMsg;
	CServerSocket *m_ServerSock;
	CClientSocket *m_ClientSock;
	CPtrList m_sockQueue;
protected:
	void QueueRemoveAll();
	CCmppMessage m_cCmppMsg;
	DWORD	m_nSequnceID;
	WORD	m_nMsgSeqID;
	HANDLE	m_SendThread;
	BOOL	m_IsExit;
	CCriticalSection	m_sockLock;
	CCriticalSection	m_SendLock;
	CList<CCmppMessage, CCmppMessage>	m_SendQueue;


	static DWORD WINAPI MessageSendThread(CManagerSocket *lpSession);
	CString Convert2AsII(const char *buffer, int len);
	int SendCmppCommand(CClientSocket *sock,CCmppMessage *msg);
	UINT64 GetMessageID(WORD nSeqID);
	int SendCmppReply(CClientSocket *sock,CCmppMessage *lpMessage);
	int CheckReceiveMsg(CClientSocket *sock,const char* buffer, int len);
	void AddRxMessageQueue(const CCmppMessage *lpMessage);
	bool GetRxMessageQueue(CCmppMessage *lpMessage);
};

#endif // !defined(AFX_MANAGERSOCKET_H__45360A45_6984_49F4_9D7F_B94981D22228__INCLUDED_)

⌨️ 快捷键说明

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