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

📄 netbase.h

📁 高速公路收费系统车道软件. 功能: 1 检测公路过往车辆 2 收费过程控制和数据采集 3 车辆信息和图片上传服务器.
💻 H
字号:
#if !defined(AFX_NETBASE_H__F52F3F2E_D6A5_4D07_9954_AEF719BB053D__INCLUDED_)
#define AFX_NETBASE_H__F52F3F2E_D6A5_4D07_9954_AEF719BB053D__INCLUDED_

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

/* 通讯过程说明:
	1:	主机发复位命令
	2:	从机发应答复位命令
	3:	主机发第0帧I消息,主机S=0,R=0
	4:	从机以RR消息应答,从机S不变,R=1
	5:	从机发第0帧I消息,从机S=0,R=1
	6:	主机以RR消息应答,主机S不变,R=1
	7:	主机发第1帧I消息,主机S=1,R=1
	8:	从机以RR消息应答,从机S不变,R=2
	9:	主机发第2帧I消息,主机S=2,R=1
	10:从机以RR消息应答,从机S不变,R=3
	11:主机发第3帧I消息,主机S=3,R=1
	12:从机以RR消息应答,从机S不变,R=4
*/

/////////////////////////////////////////////////////////////////////////////
// CNetBase command target

class CNetBase : public CSocket
{
// Attributes
public:

// Operations
public:
	CNetBase();
	void NetworkClose();

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

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

// Implementation
protected:
	BOOL RAM_Flag();
	virtual SaveSendData(unsigned char *pChData,int nDataLen);
	virtual SendSaveData();
	virtual NetSend(unsigned char *pChData,int nDataLen);
	virtual ReceiveError(unsigned char uChMessageType);
	void SendPackage(unsigned char uChMessageType,char *pChData,int nDataLen);
	void ResetProcess(char *IndexFile,char *DataFile);
	virtual ResponseCMDR();
	virtual ResponseRR(unsigned char MessageType);
	void TransmitRR();
	virtual ProcessReceiveData(unsigned char *pChData,int nDataLen);
	void AdjustSendPointer(char *IndexFile,char *DataFile);
	void GetPictureServerIP(char *str);
	int GetPictureServerPort();
	void GetMessageServerIP(char *str);
	int GetMessageServerPort();
	int GetLocalPicturePort();
	int GetLocalMessagePort();
	unsigned short UpDateCRC(unsigned short CheckResult,unsigned char ch);
	unsigned short CalculateCRC(unsigned short Data,unsigned short Genpoly,unsigned short Accum);
	unsigned char uChServerReceiveIndex;	
/*	服务器接收序号,用于确认本机发出的I消息,它比要确认的最后一帧序号大1,
	例:R=4则确认本机发出的第3帧	*/
	unsigned char uChServerSendIndex;
/*	服务器发送I消息时的发送序号		*/
	unsigned char uChLocalReceiveIndex;	//本机接收索引
/*	本机接收序号,用于确认服务器发出的I消息,它比要确认的最后一帧序号大1,
	例:R=4则确认服务器发出的第3帧	*/
	unsigned char uChLocalSendIndex;		//本机发送索引
	BOOL bPointEquFlag;
private:
	int GetLaneAddr();
	void AdjustIP(char *SrcIP,char *ObjIP);
	void InitialCRC();
	unsigned short CRCTable[256];	
};

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

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

#endif // !defined(AFX_NETBASE_H__F52F3F2E_D6A5_4D07_9954_AEF719BB053D__INCLUDED_)

⌨️ 快捷键说明

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