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

📄 main.h

📁 客户端的代码实现
💻 H
字号:
/*
main.h
*/

#if !defined(FCDDATARECEIVER_INCLUDED_MAIN_)
#define FCDDATARECEIVER_INCLUDED_MAIN_

#define _WIN32_

#ifdef _WIN32_
	#undef _LINUX_
	#include <windows.h> 
#endif


#ifdef _LINUX_
	#undef _WIN32_
	typedef int SOCKET;  
	typedef unsigned char BYTE;  
	typedef unsigned long DWORD;  
	#define FALSE 0  
	#define SOCKET_ERROR (-1)  
	#define INVALID_SOCKET  (SOCKET)(~0)
	typedef void *HANDLE;
#endif


#include <stdio.h>
#include <assert.h>
#include <io.h>
#include <string>
#include <map>
#include <vector>
#include <deque>
#include <time.h>
#include <fstream>
#include <direct.h>
#include <iostream>
using namespace std;


//////////////////////////////////////////////////////
const int DEALAFTERRECVCNT = 50; //接收数据的次数,到达数后处理
const int ONEITEMMAXLENGTH = 256; //设定接收到的数据单条最大的字节数

typedef vector<string> VCTString;
typedef vector<unsigned int> VCTUINT;

typedef deque<unsigned int>DQUINT;

typedef map<string, void*> mapStringToPtr;

struct FCDINFORMATION
{
	unsigned long	serial;     //序号
	char			cpyid[8];	//公司ID
	char			carid[24];	//车辆ID
	char			datatime[16];//日期时间
	double			coorx84;	//84X坐标
	double			coory84;	//84Y坐标
	long			coorx02;	//02X坐标
	long			coory02;	//02Y坐标
	float			speed;		//速度
	unsigned short	direct;		//方向
	unsigned long	status;		//状态
	unsigned long	events;		//事件
	int				height;		//高度
};



struct DATAFIXLENFOMAT  //固定长度数据结构
{
	char cType;       //字段类型
	unsigned int uBeginByte;  //开始位置
	unsigned int uLength;     //长度
};

struct DATAUNFIXFORMAT //非固定长度数据结构
{
	char cType;		//字段类型
	char cSymbol;	//分隔符
};

struct DATACHANGE  //数值改变
{
	int iPlace;		//在VECTOR中的位置,
	char cOperator;	//操作符:+,-,×,/
	float fNumber;	//操作数
};

struct REFORMATPARA
{
	string IPAddress;
	unsigned short Port;
	int Protocol;
	int isServer;
	string UserName;
	string PsWord;
	string selfIP;
	unsigned short selfport;
	
	int IsFixLen;
	vector <DATAFIXLENFOMAT> vctDataFixFormat;
	vector <DATAUNFIXFORMAT> DataUnFixFormat;
	vector <DATACHANGE> vctDataChange;

	VCTUINT vctDataOrder;

	string OutputFormat;

	string BgnSymbol;
	string EndSymbol;

	string DataTimeFormat;
	int DataTimeAdd;

	int SaveOrgData;
	int SaveErrData;
	string OrgSavePath;
	string ErrSavePath;
	string LogSavePath;
};


//////////////////////////////////////////////////////
//INI 文件的内容
#define INIFILENAME "Config.ini"

#define SEC_AREACONF "各地输入配置"
#define SEC_SENDTOINFO "DataSendto"

#define KEY_SECTIONNAME "SECTIONNAME"

#define KEY_IP			"IPAddr"			//ip address
#define KEY_PORT		"Port"				//port number
#define	KEY_PROTOCOL	"Protocol"			//UDP,TCP or HTTP, FTP
#define KEY_ISSERVER	"IsServer"			//if working as a server
#define KEY_USERID		"UserID"
#define KEY_PSWORD		"pw"
#define KEY_SELFIP		"selfIP"
#define KEY_SELFPORT	"selfport"
#define KEY_IFFIXLEN	"IfFixLengthData"	//是否为固定长度的数据 
#define KEY_DATAFORMAT	"DataFormat"		//数据的格式
#define KEY_DATAStart   "DataStart"			//记录数据的开始标志
#define KEY_DATAEnd	    "DataEnd"			//记录数据的结束标志
#define KEY_DATAChang   "DataChange"		//数据转换
#define KEY_DATAORDER	"DataOPOrder"		//输出顺序
#define KEY_DATAOPFORM	"DataOpFormat"		//数据输出格式
#define KEY_DATATIMEFORMAT "DateTimeFormat"
#define KEY_DATEADD		"DateAdd"			//加时间的小时数

#define KEY_SAVEORIGINAL "SaveOriginalData"  //是否保存原始数据
#define KEY_SAVEERRDATA	 "SaveErrorData"   //是否保存错误数据
#define KEY_ORIPATH		"OrgDataPath"     //原始数据保存路径
#define KEY_ERRPATH		"ErrDataPath"		//错误数据保存路径
#define KEY_LOGPATH		"LogPath"			//log文件保存路径

#define KEY_DATASENDTO "Sendto"
//////////////////////////////////////////////////////
#endif // !defined(FCDDATARECEIVER_INCLUDED_MAIN_)

⌨️ 快捷键说明

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