我正在研究如何使用Apache Thrift库,发现任何发送/接收操作都使用seqid变量。但是它始终设置为零,我没有找到任何更改或使用的地方。
非常奇怪每个人都知道此变量出于节俭目的是什么?

最佳答案

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

10-08 16:58