文章目录
- 一、adabingo 静态库项目中的网络操作核心类 CNetwork 分析
一、adabingo 静态库项目中的网络操作核心类 CNetwork 分析
CNetwork 相关方法分析 :
等待客户端上线 : CNetwork::WaitClientOnline()
, 模拟器 / 真机 中运行的 cmd 程序 , 可能在 PC 端 hacktool 工具之前 / 之后启动 , 可能需要等待另一端上线 ; 如果 PC 端 hacktool 先启动 , 则需要等待 模拟器端 的 cmd 运行起来 ;
读取远程进程数据 : bool ReadData(Json::Value& root)
, 读取远程进行中的数据信息 ;
向远程进程写出数据 :
- 写出金币数据 :
bool WriteGold(double gold)
- 写出经验数据 :
bool WriteExp(unsigned exp)
获取错误信息 : GetErrorString()
, 网络通信并不稳定 , 期间可能出现各种问题 , 该方法用于获取错误信息 ;
CNetwork 类声明 :
代码语言:javascript复制#pragma once
#include <SDKDDKVer.h>
#include <afxwin.h>
#include <WinSock2.h>
#include <Windows.h>//此头文件和WinSock2头文件的顺序不可颠倒 Windows在后才行
#include <stdio.h>
#include "../Json/json.h"
enum {
CMD_READ_DATA = 1,
CMD_WRITE_GOLD,
CMD_WRITE_EXP
};
#pragma warning(disable:4996)
#pragma comment(lib,"Ws2_32.lib")
#define FORMAT_STYLE (FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS)
class CNetwork
{
public:
CNetwork();
~CNetwork();
bool WaitClientOnline();//等待客户端上线
bool ReadData(Json::Value& root);//读取数据
bool WriteGold(double gold);//修改金币
bool WriteExp(unsigned exp);//修改经验
public:
static CString GetErrorString();
private:
SOCKET m_server;
};
CNetwork 类所在位置 :