sockettraffic.h
来自「上位机vc6.0编程控制西门子GPRS模块实现短信收发」· C头文件 代码 · 共 57 行
H
57 行
// 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
class CSocketTraffic
{
public:
CSocketTraffic();
virtual ~CSocketTraffic();
int m_nSendIn; // 发送队列的输入指针
int m_nSendOut; // 发送队列的输出指针
int m_nRecvIn; // 接收队列的输入指针
int m_nRecvOut; // 接收队列的输出指针
int m_nConnectIn; // 连接队列的输入指针
int m_nConnectOut; // 连接队列的输出指针
int m_nCloseIn; // 关闭队列的输入指针
int m_nCloseOut; // 关闭队列的输出指针
BOOL m_bThreadStatus; // 线程状态标志位,为真线程运行,否则挂起
BOOL m_bThreadWait; // 线程已经被挂起
HANDLE m_hKillThreadEvent; // 通知子线程关闭的事件
HANDLE m_hThreadKilledEvent; // 子线程宣告关闭的事件
HANDLE m_hThreadRunEvent;
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]; // 接收数据队列
CArray<SOCKET_PARAM,SOCKET_PARAM>SocketBuffer;// 存储已经建立的socket连接
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); // 从接收队列中取一桢数据
void SetThreadStatus(BOOL status); // 改变线程的状态,为真则准备运行,否则挂起
BOOL GetThreadStatus();
static UINT SocketThread(LPVOID lpParam); // 数据发送处理子程序
};
#endif // !defined(AFX_SOCKETTRAFFIC_H__368582C9_4CD9_4A4C_8EA2_7699285EEE9D__INCLUDED_)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?