kbengine_unity3d_lua_plugins icon indicating copy to clipboard operation
kbengine_unity3d_lua_plugins copied to clipboard

修改服务端的def文件以后,客户端第一次登录账号失败

Open ccyr119 opened this issue 7 years ago • 2 comments

当修改服务端的def文件以后,客户端第一次登录账号失败。 关掉客户端,在登录就可以了,失败的位置在:Client_onCreatedProxies,解析的参数有问题, eid,是一个非常大的值,entityType不是字符串,是一个整数

ccyr119 avatar Jul 02 '18 11:07 ccyr119

找到原因的了,loginapp和baseapp的类型utype值不一样。 例如: loginapp的string类型的utype=1 (这个在客户端代码中写死,没有接口请求) baseapp的string类型的utype=9 (请求EntityDef的时候会先下发所有的类型,包括alias) kbengine_unity3d_lua_plugins少了一个EntityDef文件,里面有几个重新绑定类型定义的代码, 需要在resetmessages时候调用EntityDef.cear() 这个函数里面会进行重新绑定,将类型绑定到loginapp的规范,然后在客户端请求baseapp的EntityDef的时候会重新映射新的类型规范,这个时候loginapp的方法的参数类型描述都已经正确取到。

ccyr119 avatar Jul 03 '18 05:07 ccyr119

请问,每次服务端生成的SDK是要把替换下吗

Anndy-Han avatar Jun 25 '19 05:06 Anndy-Han