立即注册 找回密码

搜索

传奇客户端微端分析

 火.. [复制链接]
发表于 2023-3-15 10:42:11 | 显示全部楼层 |阅读模式
核心单元PatchUnit
就两个类

TPatchClientManager 管理类并维护一个m_xObjectListT(PatchClient)
负责初始化socket 和 发送资源请求
并在ProcOnIdle 执行 ExecSendBuffer ExecRecvBuffer
AssignedWMImages 用于存储服务端发送的wzl清单

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

TPatchClient 实际的数据收发操作
m_ClientSocket: TClientSocket; 客户端socket
构造函数传递了一个TPatchClientManager对象
此函数处理接收的socket数据
ProcRecvBuffer 处理接收数据分析(pMsgHeader)并通过
AddProcRecvMsg添加到list(m_xProcRecvList) 交由ExecRecvBuffer处理

------------------------------------------
TPatchData 消息包格式
----------------------------------------

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

ExecSendBuffer //需要判断是否是第一次链接m_fFirstGetCrc
激活socket 从m_xTempProcSendList取出请求 发送数据请求
前段分析 实际是把请求的消息添加到m_xProcSendList
后段 从m_xProcSendList取出判断pPatchData.dwDelay 超时就删除请求
取出成功后分配内存 m_ClientSocket.Socket.SendBuf 发送请求
超时的交由end else begin
m_ClientSocket.Socket.SendBuf(PatchData.tHdr, SizeOf(TMsgHeader)); //可能是重新请求?

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

ExecRecvBuffer
从m_xProcRecvList取出数据
成功后 后面分析包
PM_CRC //crc返回 m_fFirstGetCrc 为真 //首包? 并获取整个资源列表
前段 判断全部为空 清理所有请求的消息列表
获取的列表格式 wzl为单个图片
wzl/wav/map
wzl 文件之间 | 分割其它类似 wzl,crc 逗号分隔
校验通过
按请求的图片
m_PatchClientManager.m_xWMImageList.IndexOf(szFileName)
放入m_nSvrWzlFileList(文件名,图片序号)
wav map类似 只不过是整个文件

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

接下来向服务端返回本地校验?后来发现是个半成品。。
PatchData.tHdr.nSocket CRC文件数量
CnCRC32.FileCRC32(ParamStr(0), dwCRC); mir2.exe的crc

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

PM_INDEX
校验通过将打开wzl wzx文件
同时更新本地图片计数 和服务器一致
PM_DATA解析具体数据

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

SendProcMsg 发送请求包下载数据 map wzl wav直接的请求函数调用这个就行了
首次请求 消息加入m_xTempProcSendList
然后按类型文件名读取crc
通过CRC(pPatchData.tHdr.nSocket)
再次请求具体数据 消息加入m_xProcSendList
///////////////////////////////////////////




上一篇:GEE引擎武道至尊裁判脚本,参加比赛将获得“武道至尊”的封号教程
下一篇:GOM引擎的传奇版本启动时M2server提示你的电脑无法打开网站,插件启动失败!
回复

使用道具 举报

发表于 2023-6-16 19:31:47 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2023-6-16 19:31:50 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2023-11-20 18:34:32 | 显示全部楼层
这东西我收了!谢谢楼主!
回复

使用道具 举报

发表于 2023-11-20 22:29:41 | 显示全部楼层
这东西我收了!谢谢楼主!
回复

使用道具 举报

发表于 2023-11-21 03:26:44 | 显示全部楼层
在这里可以学到很多传奇一条龙开区时遇到的问题。
回复

使用道具 举报

发表于 2023-11-21 09:00:36 | 显示全部楼层
楼主发贴辛苦了,谢谢楼主分享!
回复

使用道具 举报

发表于 2023-11-21 13:03:10 | 显示全部楼层
感谢站长分享开区一条龙教程,新手能学习到很多知识。
回复

使用道具 举报

发表于 2023-11-21 18:20:35 | 显示全部楼层
比较全的传奇教程分享网站,站长辛苦了。
回复

使用道具 举报

发表于 2023-11-21 23:23:41 | 显示全部楼层
楼主发贴辛苦了,谢谢楼主分享!
回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【64gm论坛,传奇版本库】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

客服QQ:909928377

在线会员自助办理
传奇手游版本库
传奇世界版本库

顶部

QQ|传奇开区一条龙|私服服务端|传奇单机架设教程|手机版|64gm论坛 ( 鄂ICP备2021011479号-2 )|网站地图

GMT+8, 2024-11-22 08:05 , Processed in 0.155929 second(s), 50 queries .

Powered by 64gm X3.5 © 2009-2023 64gm论坛 Inc &

免责声明:本站所有资源均来至网络,仅供学习交流,严禁用于商业用途,请于24小时内删除!开区请获得授权.