WhiteCAT
WhiteCAT
作为PCL-CE中Scaffolding实现贡献最大的(把底层通讯和交互以及老版本逻辑重构全部写完)我感觉这个协议的问题确实比较多 不过先说协议传播的事。这个协议确实有点不被人所知,既然是要作为一个统一个个启动器之间联机协议的一个标准,那就应该做好一些宣传(例如B站,哪怕是一个专栏也行),至少对于启动器作者是要知道这个东西的存在的。但看现在都情况,确实是龙猫被排除在外,我其实也类似,直到我开始写这个协议的实现的前半小时我才知道这个东西的存在。虽然鸽秋在PCLxC里发过(我不在里面),但毕竟众所周知的龙猫常年不在线,所以也别指望龙猫能看到。与其等着对方找上门还不如先发制人,告知对方有这个东西。 然后是关于协议上我的一些吐槽。 心跳包的问题,对于服务端来说验活完全可以使用EasyTire来做到,十分便捷而且减少代码量(我写服务端处理还要记录一段时间没发心跳包的,好烦人)。玩家列表也是,通过CLI可以直接获取到,即便要做转发服务器的排除处理也要比手写TCP报文舒服 对于传输混用二进制和JSON,这点有点烦。要么全二进制,要么全JSON,就我个人来看混用实在对开发人员不是很友好 我个人认为既然有CLI可以作为联机的时候会话成员信息的获取手段,而且还很方便,这类型的协议就应该作为一个最开始传输基础信息用的工具,而不是架于基础服务提供者之上重复的一个实时信息交换途径。不过这也是我个人的观点,如果有什么特殊的情况必须这样也无妨( 不过虽然文档算是完善,但是没有一个专门用来给开发人员参考的现成的实现。在我看来即便是文档表述的再清楚,也没有代码来的直接,代码是永远也不会骗人的和表述不清那个(特别是那个房间码)。 差不多就是这些吧,有点啰哩啰嗦,就当作是我给CE提交玩Scaffolding的PR后累得要死后的吐槽作品吧