-
Notifications
You must be signed in to change notification settings - Fork 199
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
问个无关问题,协议可以用json吗 #37
Comments
暂时还不支持 json 协议哦 |
原来是同厂的大佬,哈哈。 目前还没支持 json 协议,后续有考虑支持json格式的计划. |
大佬好,意思是json也是可以是吗,protobuf感觉依赖比较麻烦哎。为啥不直接用json呢 |
json这块我也不知道怎么弄好, 是直接 json 传数据(外面加一下自定义的包头), 还是说 http 请求体里面加 json。 我个人有点倾向于 Http 请求体里面包 json 字符串,然后服务端增加下json解析。大佬有什么高见不 |
老实说,我不太懂后端的东西,我搞人工智障的,这里面这个用法:
假如说我有很多个API,例如login register, post_article, 之类的接口,怎么在channel里面区分啊,这channel直接就写死了一个路径 |
channel 不需要区分,就每次调用 RPC 的时候,都需要初始化一个 TinyPbRpcChannel 对象。 如果是有多个接口,比如 login register,目前的做法是 先把 proto 文件加上这些接口, 然后调用 QueryService_Stub.login() , QueryService_Stub.register 方法就可以了 |
你说的 channel 写死路径指的是啥啊,是指这里指定了对端服务的 ip:port吗 |
那比如我的客户端是flutter,我怎么在dart里面去调用login register啊 |
抱歉,我没用过 flutter 不太懂。哈哈哈。 不过如果是外部客户端想调用 rpc 服务,我觉得rpc服务应该提供 HTTP 协议的接口这种比较规范的。 protobuf 更适用于内部服务之间的相互调用。 对外就提供HTTP |
或者说你期望以哪种形式调用,可以给我个简单的示例吗。 |
@Gooddbird 那比如说python里面,要吊用tinyrpc,有势力吗 |
这个还没有,如果服务端是 protobuf 协议的话,目前只有 c++ 调用。 我后面看看怎么解决这个问题 |
但是讲道理,他不应该是与客户端无关并且跨语言的吗 |
嗯嗯,是这样的。本身现在支持两种协议, |
如果考虑跨端夸语言的话哪种方式好一些? protobuf应该包体积更小,传输更快,json得还得反序列化肯定没有protobuf快,但json好在无依赖,protobuf对于一些比较特殊的端,例如dart,或者是对体积要求很小的APP,再加上一个protobuf的依赖感觉比较重。 业内有比较成熟的对比和应用案例吗 |
问个无关问题,协议可以用json吗
The text was updated successfully, but these errors were encountered: