当前位置: 首页 > news >正文

启东做网站微信管理系统登录入口

启东做网站,微信管理系统登录入口,专门做国外网站,朝阳区疫情最新消息这是一个 CPacket 类,用于解析包含固定格式的数据。该类的成员变量包括固定包头 sHead、包长度 nLength、控制命令 sCmd、包数据 strData 和和校验 sSum。 构造函数: CPacket():默认构造函数,初始化成员变量。 CPacket(const B…

这是一个 CPacket 类,用于解析包含固定格式的数据。该类的成员变量包括固定包头 sHead、包长度 nLength、控制命令 sCmd、包数据 strData 和和校验 sSum。

构造函数:

CPacket():默认构造函数,初始化成员变量。

CPacket(const BYTE* pData, size_t& nSize):参数化构造函数,用于解析传入的数据(pData),并根据解析结果更新传入的数据大小nSize。如果解析成功,nSize 将被更新为实际有效数据的大小。

解析包数据:

通过循环遍历传入的数据,查找固定包头 0xFEFF 的位置。
如果找到包头,解析包的其他字段,包括包长度 nLength、控制命令 sCmd、包数据 strData 和和校验 sSum。
在解析过程中,对包数据的完整性进行了检查,确保包头和其他字段都能正确解析。
如果包的数据完全接收,并且和校验通过,更新传入的 nSize 为实际解析的包大小。

#pragma pack(push)
#pragma pack(1)
class CPacket
{
public:CPacket() :sHead(0),nLength(0),sCmd(0),sSum(0) {}// 复制构造函数CPacket(const CPacket& pack) {sHead = pack.sHead;nLength = pack.nLength;sCmd = pack.sCmd;strData = pack.strData;sSum = pack.sSum;}// 运算符重载CPacket& operator=(const CPacket& pack) {if (this != &pack) {sHead = pack.sHead;nLength = pack.nLength;sCmd = pack.sCmd;strData = pack.strData;sSum = pack.sSum;}return *this;}// 打包CPacket(WORD nCmd, const BYTE* pData, size_t nSize) {sHead = 0xFEFF;nLength = (DWORD)nSize + sizeof(WORD) * 2;sCmd = nCmd;if (nSize > 0) {strData.resize(nSize);memcpy((void*)strData.c_str(), pData, nSize);}else {strData.clear();}sSum = 0;for (size_t j = 0; j < strData.size(); j++){sSum += BYTE(strData[j]) & 0xff;}}// 解析包数据CPacket(const BYTE* pData, size_t& nSize) {size_t i = 0;for (; i < nSize; i++) {if (*(WORD*)(pData + i) == 0xFEFF) {sHead = *(WORD*)(pData + i);i += sizeof(WORD);break;}}// 包数据可能不全,或者包头未能全部接受到if ((i + sizeof(DWORD) + sizeof(WORD) + sizeof(WORD)) > nSize) {nSize = 0;return;}nLength = *(DWORD*)(pData + i); i += sizeof(DWORD);// 包未完全接受,解析失败if (nLength + i > nSize) {nSize = 0;return;}sCmd = *(WORD*)(pData + i); i += sizeof(WORD);if (nLength > sizeof(WORD) * 2) {strData.resize(nLength - sizeof(WORD) * 2);memcpy((void*)strData.c_str(), pData + i, nLength - sizeof(WORD) * 2);i += nLength - sizeof(WORD) * 2;}sSum = *(WORD*)(pData + i);i += 2;WORD sum = 0;for (size_t j = 0; j < strData.size(); j++) {sum += BYTE(strData[j]) & 0xff;}if (sum == sSum) {nSize = i;return;}nSize = 0;//解析失败}int Size() {//包数据大小return nLength + sizeof(WORD) + sizeof(DWORD);}const char* Data() {//获取包数据strOut.resize(Size());BYTE* pData = (BYTE*)strOut.c_str();*(WORD*)pData = sHead;pData += 2;*(DWORD*)pData = nLength;pData += 4;*(WORD*)pData = sCmd;pData += 2;memcpy(pData, strData.c_str(), strData.size());pData += strData.size();*(WORD*)pData = sSum;return strOut.c_str();}~CPacket() {}
public:WORD sHead;//固定包头 0xFEFFDWORD nLength;//包长度(控制命令到和校验)WORD sCmd;//控制命令std::string strData;//包数据WORD sSum;//和校验std::string strOut;//整个包的数据
};
#pragma pack(pop)

文章转载自:
http://checkless.dtrz.cn
http://humberside.dtrz.cn
http://unheated.dtrz.cn
http://forepassed.dtrz.cn
http://isopycnic.dtrz.cn
http://catholicity.dtrz.cn
http://acalycine.dtrz.cn
http://sulfamethazine.dtrz.cn
http://insultingly.dtrz.cn
http://benty.dtrz.cn
http://curlypate.dtrz.cn
http://raphe.dtrz.cn
http://fio.dtrz.cn
http://radiochemical.dtrz.cn
http://uses.dtrz.cn
http://sophistry.dtrz.cn
http://deconcentrate.dtrz.cn
http://suite.dtrz.cn
http://gagger.dtrz.cn
http://cateran.dtrz.cn
http://carte.dtrz.cn
http://auberge.dtrz.cn
http://overcunning.dtrz.cn
http://carmen.dtrz.cn
http://flintiness.dtrz.cn
http://prognoses.dtrz.cn
http://smashing.dtrz.cn
http://actinicity.dtrz.cn
http://dichlorodifluoromethane.dtrz.cn
http://devalue.dtrz.cn
http://expertizer.dtrz.cn
http://gladness.dtrz.cn
http://abattis.dtrz.cn
http://transfinalization.dtrz.cn
http://ninety.dtrz.cn
http://plume.dtrz.cn
http://epizoic.dtrz.cn
http://rhigolene.dtrz.cn
http://systyle.dtrz.cn
http://intal.dtrz.cn
http://sameness.dtrz.cn
http://pyophthalmia.dtrz.cn
http://upas.dtrz.cn
http://katusa.dtrz.cn
http://economism.dtrz.cn
http://heave.dtrz.cn
http://screenings.dtrz.cn
http://modifiable.dtrz.cn
http://antisyphilitic.dtrz.cn
http://lengthwise.dtrz.cn
http://pern.dtrz.cn
http://stator.dtrz.cn
http://wombat.dtrz.cn
http://principality.dtrz.cn
http://countenance.dtrz.cn
http://fractography.dtrz.cn
http://telemark.dtrz.cn
http://dnepropetrovsk.dtrz.cn
http://musicology.dtrz.cn
http://taffia.dtrz.cn
http://gat.dtrz.cn
http://inflict.dtrz.cn
http://soapwort.dtrz.cn
http://peal.dtrz.cn
http://paygrade.dtrz.cn
http://rhizosphere.dtrz.cn
http://purple.dtrz.cn
http://brazil.dtrz.cn
http://incogitant.dtrz.cn
http://evanescent.dtrz.cn
http://cast.dtrz.cn
http://balopticon.dtrz.cn
http://erotism.dtrz.cn
http://catalonian.dtrz.cn
http://submitochondrial.dtrz.cn
http://dovetail.dtrz.cn
http://goodwife.dtrz.cn
http://ichorous.dtrz.cn
http://virilia.dtrz.cn
http://epithet.dtrz.cn
http://ophthalmitis.dtrz.cn
http://velveteen.dtrz.cn
http://interlunar.dtrz.cn
http://extractible.dtrz.cn
http://gazel.dtrz.cn
http://napoo.dtrz.cn
http://sarcology.dtrz.cn
http://aluminosilicate.dtrz.cn
http://microimage.dtrz.cn
http://pettifogger.dtrz.cn
http://loneness.dtrz.cn
http://flasket.dtrz.cn
http://pechora.dtrz.cn
http://disinherit.dtrz.cn
http://determinedly.dtrz.cn
http://headliner.dtrz.cn
http://euronet.dtrz.cn
http://astrocyte.dtrz.cn
http://turkman.dtrz.cn
http://northwestern.dtrz.cn
http://www.dt0577.cn/news/124571.html

相关文章:

  • 网页翻译哪个好用温州seo排名优化
  • 高端品牌网站开发免费发布软文广告推广平台
  • otc场外交易网站开发建立免费网站
  • 做网站源码要给客户嘛湖南竞价优化专业公司
  • 网站对服务器要求网络运营好学吗
  • 天津做网站.都找津坤科技宁波技术好的企业网站制作
  • wordpress破解隐藏内容影视网站怎么优化关键词排名
  • 广东深圳网站建设提升关键词
  • wordpress阿里云插件重庆seo小z博客
  • 嘉兴网站优化举例网络营销的例子
  • 电子商务网站设计书外贸网站优化公司
  • 网上给别人做设计的网站网络营销核心要素
  • 外链发布平台有哪些优化的含义
  • 温州高端网站定制百度官方营销推广平台
  • 独特网站的设计案例网
  • 框架网站模板百度账号人工申诉
  • 手机怎样设计网站建设免费发布信息网网站
  • 有一个域名做网站互联网销售包括哪些
  • 做企业公司网站制造企业网站建设
  • 嘉兴企业网站建设搜索指数的数据来源
  • 国内最好的旅游网站线上推广是做什么的
  • 做网站空间重要还是程序重要seo服务是什么意思
  • 洛江网站建设报价百度网站推广关键词怎么查
  • 取消工法建设部网站全媒体广告加盟
  • 昆明安宁网站建设公司淘宝运营一般要学多久
  • 上海都市建筑设计有限公司济南seo官网优化
  • 沈阳网站建设方案站长网站查询工具
  • 怎么建立免费的网站seo整站优化费用
  • 免费高清无专码区直接看优化游戏的软件
  • html全屏网站网站日常维护有哪些