c++ - 在 Apache Thrift 中使用 seqid 的目的是什么?

标签 c++ thrift thrift-protocol

我正在研究如何使用 Apache Thrift 库,发现任何发送/接收操作都使用 seqid 变量。但它总是设置为零,我没有找到它改变或使用的任何地方。 这很奇怪。大家都知道这个变量存在于 thrift 中的目的是什么吗?

最佳答案

seqid在某些地方使用。例如,Node.js JavaScript 实现使用序列 ID 将调用响应映射回客户端回调。因此,实现保留对 seqid 执行所需操作的权利,因此用户级代码应将它们视为不透明。服务器必须返回随调用响应收到的 seqid。因此,Apache Thrift 客户端实现决定如何以及是否使用 seqid,服务器简单地返回它们不变。例如,Python 客户端可能会在每次调用时发送 seqid 0,而 JavaScript 客户端可能会使用自动增量,服务器的工作是无论如何都会将它收到的任何 seqid 返回给调用者。

关于c++ - 在 Apache Thrift 中使用 seqid 的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28858960/

相关文章:

cygwin - 在 cygwin 中找不到 libtoolize 命令

c++ - SSL 证书,不通过 thrift 进行身份验证,但可以通过浏览器进行身份验证

php - 我可以在Hadoop集群中使用 `apache spark`与php和HBase数据库一起执行Crud操作吗

c++ - Thrift 服务器 : detect client disconnections (C++ library)

Python Hive 查询限制为 100

java - org.apache.thrift7.TBase 与 org.apache.thrift.TBase

c++ - MSBuild入参配置

c++ - 在不使用内核的情况下写入 CUDA 中的共享内存

c++ - 将不等于 0 的整数减为 1

C++ winsock TCP监听