tsrpc
tsrpc copied to clipboard
A TypeScript RPC framework, with runtime type checking and serialization, support both HTTP and WebSocket. It is very suitable for website / APP / games, and absolutely comfortable to full-stack TypeS...
项目发展方向建议
1. 提供 nodejs 流行框架如 express koa nestjs 等的中间件,方便嵌入已有的项目中 2. 丰富完善 tsrpc-cli 文档和 api ,方便 express koa 等框架的项目接入 3. tsrpc 可以往全栈框架发展, 不止步于 rpc 框架
https://github.com/k8w/tsrpc/blob/a4f492c194e66a38612e14bc792c1efd04694f07/src/server/base/ApiCall.ts#L199 能否改为 ```javascript return { isSucc: true, output: type === 'json' ? json : JSON.stringify( json, (key, value) => (typeof value === 'bigint' ? value.toString() : value) ) }; ```...
准确的说应该是服务协议文件是否可以多个,不把所有协议编到一个文件里
API Reference See [API Reference](https://github.com/k8w/tsrpc/blob/master/docs/api/tsrpc.md).
我本地实际用的包管理器是pnpm,但是自动检测认为是yarn,提示是npm ``` === 欢迎使用 create-tsrpc-app 版本 1.1.8 === 创建 TSRPC 应用: trpc ? 请选择要创建的项目类型: Vue 3 + 后端 ? 请选择传输协议: HTTP 短连接 √ 1/9 检测 NPM 环境: Command: yarn, Registry:...
Hey, I want to use Unity as frontend and TSRPC as backend, is that possible?
tsrpc.config { proto: [ { ptlDir: "src/procedures/protocols", output: "src/procedures/protocols/service-proto.ts", apiDir: "src/procedures/api", docDir: "src/procedures/docs", ptlTemplate: { baseFile: "src/procedures/protocols/base.ts" }, }, ], sync: [], dev: { autoProto: true, autoSync: true, autoApi: true,...
文章写的真好,受益良多。但有两个问题还望请教。 1,关于判定该听谁的问题,大佬你举的例子是个射击游戏,这还好,要是moba游戏,放一个技能,这技能也不带晕,就是简单的子弹飞行,命中,掉血,这么一个技能。由于没有晕、位移等效果,也不存在被击中者被强制拉回去的问题,就是中了掉血。这种判定是听攻击者客户端运算的,还是听服务端运算的呢?听谁的好像另外一边都不会同意,影响游戏体验,那现有的moba游戏是如何实现这里的同步策略的呢? 2,关于作弊问题,大佬你文章最后提到:你担心客户端可能发给你作弊的计算结果,其实客户端一样可能发给你作弊的输入,所以客户端算和服务端算,对于作弊来说都是一样的。我这里觉得还是不一样,因为服务端可以比较容易校验客户端传过来的输入是否合法,而不太容易校验客户端传上来的结果是否合法。
非常厉害的框架!不过我对实现细节有一些疑问,考虑到介绍页面有比较强的性能指标,所以很好奇server端的底层实现是依赖于什么语言或者框架?