无锁异步化、事件驱动架构设计的 java netty 网络编程框架; 轻量级,无需依赖任何第三方中间件或数据库就能支持集群、分布式; 适用于网络游戏服务器、物联网、内部系统及各种需要长连接的场景; 通过 ioGame 你可以很容易的搭建出一个集群无中心节点、集群自动化、分布式的网络服务器;FXGL、Unity、UE、Cocos Creator、Godot、Netty、Protobuf、webSocket、tcp、socket;java Netty 游戏服务器框架;
GNU Affero General Public License v3.0
834
stars
183
forks
source link
SDK C# ,客户端代码生成;方便 Unity、Godot 对接。 #328
Open
iohao opened 2 months ago
新增功能的使用场景
205 配合 SDK C# 生成可使用的联调代码,减少客户端模板代码的编写
通常服务器是服务的提供方,提供协议及 api (即 action)。客户端调用这些 api 就能与服务器实现的互通,此时,客户端还需要根据服务器提供的对接文档来编写一些代码,以确保符合 api 的描述。
如果服务器提供了数百个 action,那么客户端也需要编写数百个对应的联调代码。虽然这些调用的代码量并不会很多,且大部分都是一些模板代码;但如果对接的内容多了,那么工作量也就上来了。
为此,ioGame 提供了这些模板代码的生成,让我们先看下面的服务器代码。
生成的 SDK C# 代码
生成后的 C# 代码,以下内容是根据 action 、广播、错误码 ...等信息自动生成的。是的,你没有看错,除了 api 外,还生成了具体的方法描述、参数描述、返回值描述。
这里只展示了 action 相关的,为了节省篇幅,这里就先不展示广播、错误码相关生成后的代码了。
action 有返回值的接口,会生成两种风格的调用代码。关于两种风格,请阅读相关 SDK #205。
使用
因为生成的 api 中生成了具体的方法描述、参数描述、返回值描述,所以在使用时只需通过工具来查看具体的 api 是如何使用的就行了。
客户端开发者在使用 api 时,只需要关注核心业务代码,下面展示了两种编码风格,客户端开发者可根据实际业务的复杂度来选择使用。
从截图中我们可以知道,接口 api 文档已经明确了返回值的类型
小结
SDK C# 代码生成可为客户端开发者减少巨大的工作量,并可为客户端开发者屏蔽路由等概念。直接面向接口编程,面向接口编程的几个优点
其他参考资料
205