使用Apache Thrift在两个设备之间进行通信

时间:2015-08-02 21:13:01

标签: client server thrift

抬头:在网络开发和网络方面,我是初学者。

我的目标是创建一个Windows控制台应用程序,它充当本地网络上的服务器,并使用该服务器在同一网络上拥有任意数量的客户端。

我已经使用Apache Thrift并设法将控制台应用程序设置为服务器,并创建了一个充当客户端的Unity3D项目。 (Using this example code

当我在同一设备上运行服务器和客户端时,它可以正常工作。

如果不是在同一个deivce上,即当我在iPhone上导出和构建Unity项目时,我怎么能让它工作?

据我了解,我需要在设置客户端时指定目标IP地址,但我不知道如何执行此操作。

2 个答案:

答案 0 :(得分:1)

  1. 您需要为服务器分配一个静态(私有)IP地址。
  2. 将客户端的“localhost”替换为私有服务器的ip。
  3. 如果服务器和客户端共享同一个本地网络,基本上就应该足够了。

答案 1 :(得分:1)

根据用例,另一种解决方案可能涉及通信服务器作为第三台计算机。

特别是当涉及两个以上的客户端时,后一种方法可以非常方便:服务器不仅接管管理各种客户端之间的通信,这也使您能够进行更多增强的通信(如果需要,可以考虑多播等)。点对点很快就会成为大量客户的痛苦。

唯一需要注意的是,Thrift不支持推送消息,它总是客户端必须启动RPC交互。因此,您需要围绕该限制设计您的通信方案。

上面概述的场景可能与OP的用例不匹配。我想添加它有两个原因:(1)为了完整性(2),为了未来读者的利益而寻找这个。