📄 clientsock.h
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -