clientsock.h

来自「基于dialogic语音卡的IVR系统源代码」· C头文件 代码 · 共 69 行

H
69
字号
#if !defined(AFX_CLIENTSOCK_H__2C3F3283_CED8_11D3_9FEC_0080C8F67786__INCLUDED_)
#define AFX_CLIENTSOCK_H__2C3F3283_CED8_11D3_9FEC_0080C8F67786__INCLUDED_

#include "afxsock.h"

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// ClientSock.h : header file
//

typedef int (*PPROCESSRCVPACKET)(char *szPacket, int iPacketLen, void *pclientSock);

/////////////////////////////////////////////////////////////////////////////
// CClientSock command target

class CClientSock : public CSocket
{
// Attributes
public:
	long m_lAllEvent;
	PPROCESSRCVPACKET m_pProcessRcvPacketFunc;

// Operations
public:
	CClientSock(PPROCESSRCVPACKET pProcessRcvPacket);
	virtual ~CClientSock();

// Overrides
public:
	int ProcessRcvDone(char *szPacket, int iPacketLen);
	int BeginNewPacket();
	int ProcessRcvError();
	int GetDataFieldLen(char *szHeader, int iLength);
	int AddToDataField(char *szRcvedData, int iLength);
	int AddToHeader(char *szRcvedData, int iLength);

	int m_iRcvState;	//0:表示正在接收包头,1:表示正在接收包中数据域
	char *m_szPacketHeader, *m_szPacketData;
	int m_iRcvedLen_PacketHeader, m_iRcvedLen_PacketData;
	int m_iLen_DataField;
	int m_iDefinedLen_PacketHeader;	//通讯协议中定义的包头长度
	char m_aszPeerAddress[20];
	UINT m_iPeerPort;
	BOOL m_bRcvDone;

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CClientSock)
	public:
	virtual void OnReceive(int nErrorCode);
	virtual void OnClose(int nErrorCode);
	//}}AFX_VIRTUAL

	// Generated message map functions
	//{{AFX_MSG(CClientSock)
		// NOTE - the ClassWizard will add and remove member functions here.
	//}}AFX_MSG

// Implementation
protected:
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_CLIENTSOCK_H__2C3F3283_CED8_11D3_9FEC_0080C8F67786__INCLUDED_)

⌨️ 快捷键说明

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