📄 sockettraffic.h
字号:
// SocketTraffic.h: interface for the CSocketTraffic class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_SOCKETTRAFFIC_H__368582C9_4CD9_4A4C_8EA2_7699285EEE9D__INCLUDED_)
#define AFX_SOCKETTRAFFIC_H__368582C9_4CD9_4A4C_8EA2_7699285EEE9D__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "Sms.h"
#include "Comm.h"
class CSocketTraffic
{
public:
void SetRecvMsgFlag();
BOOL GetSendMessage(SM_PARAM* pparam);
BOOL GetRecvMessage(SM_PARAM* pparam);
void PutRecvMessage(SM_PARAM* pparam, int nCount);
void PutSendMessage(SM_PARAM* pparam);
CSocketTraffic();
virtual ~CSocketTraffic();
int m_nSendIn; // 发送队列的输入指针
int m_nMessageSendIn;
int m_nMessageRecvIn;
int m_nMessageSendOut;
int m_nMessageRecvOut;
int m_nSendOut; // 发送队列的输出指针
int m_nRecvIn; // 接收队列的输入指针
int m_nRecvOut; // 接收队列的输出指针
int m_nConnectIn; // 连接队列的输入指针
int m_nConnectOut; // 连接队列的输出指针
int m_nCloseIn; // 关闭队列的输入指针
int m_nCloseOut; // 关闭队列的输出指针
BOOL m_bThreadWait; // 线程已经被挂起
BOOL m_bBeginFlag;
BOOL RecMsgFlag;
HANDLE m_hKillThreadEvent; // 通知子线程关闭的事件
HANDLE m_hThreadKilledEvent; // 子线程宣告关闭的事件
SM_PARAM m_SmSend[MAX_SM_SEND]; // 发送短消息队列
SM_PARAM m_SmRecv[MAX_SM_SEND]; // 接收短消息队列
SOCKET_PARAM m_ConnectSocket[MAX_SM_SEND]; // 需要建立的socket连接建立
SOCKET_PARAM m_CloseSocket[MAX_SM_SEND];
SOCKETDATA_PARAM m_SocketSend[MAX_SM_SEND]; // 发送数据队列
SOCKETDATA_PARAM m_SocketRecv[MAX_SM_SEND]; // 接收数据队列
CRITICAL_SECTION m_csSend; // 与发送相关的临界段
CRITICAL_SECTION m_csRecv; // 与接收相关的临界段
CRITICAL_SECTION m_csConnect; // 与建立socket连接的临界代码段
CRITICAL_SECTION m_csClose; // 与关闭socket连接的临界代码段
void PutConnectSocket(SOCKET_PARAM* pSocketParam); // 将要连接的socket放入队列中
BOOL GetConnectSocket(SOCKET_PARAM* pSocketParam); // 从队列中取出一个需要连接的socket
void PutCloseSocket(SOCKET_PARAM* pSocketParam); // 将要关闭的socket放入队列中
BOOL GetCloseSocket(SOCKET_PARAM* pSocketParam); // 从队列中取出一个需要关闭的socket
void PutSendData(SOCKETDATA_PARAM* pSocketParam); // 将待发送数据放入发送队列
BOOL GetSendData(SOCKETDATA_PARAM* pSocketParam); // 从发送队列中取一条数据
void PutRecvData(SOCKETDATA_PARAM* pSocketParam, int nCount); // 将数据放入接收队列
BOOL GetRecvData(SOCKETDATA_PARAM* pSocketParam); // 从接收队列中取一桢数据
BOOL GetThreadStatus();
static UINT SocketThread(LPVOID lpParam); // 数据发送处理子程序
};
#endif // !defined(AFX_SOCKETTRAFFIC_H__368582C9_4CD9_4A4C_8EA2_7699285EEE9D__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -