Thrift RPC 双向通信

3
我正在寻找一种从服务器到客户端创建rpc调用的方法。 使用thrift是否可以实现此功能?换句话说,我想在不创建另一个TSocketServer的情况下双向调用RPC。
谢谢。
3个回答

1
Thrift中的双向通信文档不是很完善。这不是“正常”的Thrift用法。
我最近回答了一个类似于Go语言的问题。我希望你可以借鉴我的答案,为C++提供解决方案。 在Go中实现客户端和服务器之间的RPC

0

个人而言,我并不是一个Thrift专家,但在它还处于孵化器阶段时,我确实研究过它。
与许多其他RPC机制一样,我没有找到一种处理Thrift异步回调的方法。
因此,每当我需要这样做时,我仍然被卡住了。TAO是我最喜欢的之一。
但如果有人能证明我错了,我会非常感激。


-1

TCP连接是全双工的 -> 您在客户端和服务器端都有描述符。只需使用系统调用向它们写入即可。

我相信在您序列化Thrift消息后,可以像常规无符号char*一样发送它。


你说得没错,但这是一种较低级的操作。如果我使用与TCP不同的传输方法呢?一定有更好的方式以符合Thrift的要求。 - user1618103
我认为这是一个你可以查看的示例,看起来有几种方法可以实现你想要的功能。基于这个 thrift 文件 http://svn.apache.org/repos/asf/thrift/trunk/contrib/transport-sample/Sample.thrift 它提供了这个功能。示例:http://svn.apache.org/repos/asf/thrift/trunk/contrib/transport-sample/ - user1686220

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接