微信扫一扫 分享朋友圈

已有 1169 人浏览分享

开启左侧

传奇客户端微端分析

[复制链接]
1169 1
核心单元PatchUnit

就两个类



TPatchClientManager 管理类并维护一个m_ObjectListT(PatchClient)

负责初始化socket 和 发送资源请求

并在ProcOnIdle 执行 EecSendBuffer EecRecvBuffer

AssignedWMImages 用于存储服务端发送的wzl清单



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



TPatchClient 实际的数据收发操作

m_ClientSocket: TClientSocket; 客户端socket

构造函数传递了一个TPatchClientManager对象

此函数处理接收的socket数据

ProcRecvBuffer 处理接收数据分析(pMsgHeader)并通过

AddProcRecvMsg添加到list(m_ProcRecvList) 交由EecRecvBuffer处理



------------------------------------------

TPatchData 消息包格式

----------------------------------------



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



EecSendBuffer //需要判断是否是第一次链接m_fFirstGetCrc

激活socket 从m_TempProcSendList取出请求 发送数据请求

前段分析 实际是把请求的消息添加到m_ProcSendList

后段 从m_ProcSendList取出判断pPatchData.dwDelay 超时就删除请求

取出成功后分配内存 m_ClientSocket.Socket.SendBuf 发送请求

超时的交由end else begin

m_ClientSocket.Socket.SendBuf(PatchData.tHdr, SizeOf(TMsgHeader)); //可能是重新请求?



-----------------------------------------



EecRecvBuffer

从m_ProcRecvList取出数据

成功后 后面分析包

PM_CRC //crc返回 m_fFirstGetCrc 为真 //首包? 并获取整个资源列表

前段 判断全部为空 清理所有请求的消息列表

获取的列表格式 wzl为单个图片

wzl/wav/map

wzl 文件之间 | 分割其它类似 wzl,crc 逗号分隔

校验通过

按请求的图片

m_PatchClientManager.m_WMImageList.IndeOf(szFileName)

放入m_nSvrWzlFileList(文件名,图片序号)

wav map类似 只不过是整个文件



-------------------------------------------------------



接下来向服务端返回本地校验?后来发现是个半成品。。

PatchData.tHdr.nSocket CRC文件数量

CnCRC32.FileCRC32(ParamStr(0), dwCRC); mir2.ee的crc



-------------------------------------------------------



PM_INDEX

校验通过将打开wzl wz文件

同时更新本地图片计数 和 服务器一致

PM_DATA解析具体数据



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



SendProcMsg 发送请求包下载数据 map wzl wav直接的请求函数调用这个就行了

首次请求 消息加入m_TempProcSendList

然后按类型文件名读取crc

通过CRC(pPatchData.tHdr.nSocket)

再次请求具体数据 消息加入m_ProcSendList

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

举报 使用道具

回复

评论 1

a9953565  新手上路  发表于 2023-8-9 14:50:14 | 显示全部楼层
强烈支持楼主ing……

举报 使用道具

回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0

关注

2

粉丝

3048

主题
精彩推荐
热门资讯
网友晒图
图文推荐
  • 微信

  • QQ群

QQ|Archiver|手机版|小黑屋|88M2传奇资源网 ( 鲁ICP备20017785号-2 )|网站地图

GMT+8, 2024-4-29 07:14 , Processed in 0.102525 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.