【问题标题】:How to send message from client to server using Apache Thrift如何使用 Apache Thrift 从客户端向服务器发送消息
【发布时间】:2014-10-21 10:27:01
【问题描述】:

我正在使用 Apache Thrift 技术 http://wiki.apache.org/thrift/ 创建一个应用程序。我知道如何在客户端和服务器之间建立连接,并且我可以通过客户端调用存储在服务器中的函数。

但是现在,我想从客户端向服务器发送一条消息,比如“来自客户端的你好”,服务器必须接收并打印它。我可以通过使用 .NET 框架和多线程等待消息来做到这一点。但是因为我的讲师的提议,我会使用 Apache Thrift 技术。

服务器收到此消息后,可以回复客户端类似“我知道了”,客户端将收到此消息。

那么如何通过使用 Apache Thrift 来做到这一点,请给我一些建议或一些参考资料。我想使用 C# 来创建我的应用程序。

提前致谢。

【问题讨论】:

  • (1) 你尝试了什么? (2) 什么反对Console.WriteLine(yourstring)? (3) 我看不出打印值与用于传输该值的 RPC 技术之间的关系。你能帮忙吗? (4) 题目的标题与内容无关。
  • 我想使用 Apache Thrift 将数据从客户端发送到服务器。正如我解释的那样,数据可能是一条消息。在服务器端,我创建了一个接收消息线程,它将等待从客户端接收消息。但我不知道如何从客户端发送消息。
  • 所以真的是建立连接,上面所有出现的“I can”都应该读作“I want to”?
  • 顺便说一句,该 wiki 链接已过时。使用thrift.apache.org

标签: c# multithreading thrift


【解决方案1】:

由于你没有发布任何代码,我只能给你一个通用的大纲。

在开始使用 Apache Thrift 时,有两个资源值得一看。首先是tutorial,这是一个演示基本原理的小型计算器应用程序。从理论上讲,这应该已经涵盖了您完成任务所需的所有内容。

但是等等,还有更多:另一个资源是Thrift Test Client/Server program,除了它的主要用途之外,它还提供了一个很好的示例,并展示了有关不同协议和传输的许多技术。

使用 C# 创建客户端归结为:

// put together a protocol/transport stack as required by the server
TTransport transport = new TSocket("localhost", 9090);
TProtocol protocol = new TBinaryProtocol(transport);
Calculator.Client client = new Calculator.Client(protocol);

// make sure the transport is open
transport.Open();

// call a method via RPC
client.ping();

再次,如果您有具体问题,我鼓励您提出更具体的问题。 The above sample code can be easily found in the docs 来自 Google 1),所以我敢打赌这不是真正的问题,或者您可能只是在寻找某人为您做作业。


1) 只需查找“thrift tutorial”并点击搜索结果中的第一个条目。

【讨论】:

    猜你喜欢
    • 2013-06-24
    • 2017-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-15
    • 2021-11-26
    相关资源
    最近更新 更多