da1468x.
1年前
张贴了Firebird.0分 3回复嗨,团队。
我正在分析网格SDK代码,并在SDK基础上构建我自己的网格应用程序。
在多种型号中有非常奇怪的实现。
例如,在通用级别服务器模型中,状态消息由以下代码发送给客户端。
返回ms_access_publish(&model-> model_handle,ms_access_generic_level_status_opcode,(Uchar *)和状态,sizeof(ms_generic_level_status_struct) - 1,ms_true);
1.为什么要发送总结构大小减去一个字节?
2.根据网格规范,状态消息应为3或5字节长。
但在SDK中,没有可选的字段处理,甚至MS_GENERIC_LEVEL_STATUS_STURE也没有包装!
我在SDK中发现了类似的代码。
所有这些代码都意味着SDK是错误或不成熟,或网格二进制库中的一些奇怪的魔法?
1年前
我仔细审查了SDK代码,再次调试自己,我意识到“长度减1”是排除的技巧可选_fields_present.领域。
所以,仍然缺乏处理可选领域,但它可能会起作用。
抱歉我的误解,但我仍然对消息结构强烈怀疑没有包装。
是否将网格设备函数符合规范?可操作?
1年前
嗨Firebird,
感谢您分享反馈。如果我们携带有助于您的问题,请与我们的内部团队一起检查此内部团队。我会尽快从团队中听到。
最好的问候,
lc_dialog