【问题标题】:Java client and Erlang server?Java客户端和Erlang服务器?
【发布时间】:2014-04-16 07:45:23
【问题描述】:

我即将编写一个客户端-服务器应用程序(一个简单的游戏),我想在服务器端使用 Erlang,在客户端使用 Java。我应该如何在客户端和服务器之间建立连接?我以前从未接触过网络编程...

我认为“套接字”是我应该使用的东西,对吗?在这种情况下,我可以使用 Java 的套接字类在客户端上发送/接收消息,并在服务器上的 Erlang 中使用一些相应的套接字模块吗?还是我必须在服务器上安装某种 Java 接收器,然后转换为 Erlang?套接字是通过网络发送的某种通用协议,所有语言都可以解释吗?

【问题讨论】:

    标签: java networking erlang


    【解决方案1】:

    取决于你想学什么。

    1. 套接字是低级的,您需要设计一个协议。
    2. HTTP Rest API 更通用,需要 Web 服务器(例如 yaws)
    3. 或Jinterface ErlangJava桥

    http://www.slideshare.net/dennisbyrne/integrating-java-and-erlang-with-jinterface-presentation

    【讨论】:

    • 嗯,如果我说我想学习最适合大型游戏(如真正的多人游戏......)的联网方式,这会让我的决定更容易吗?我查看了 JInterface,这似乎是一种在语言之间进行交流的好方法。是否同时进行网络交流和语言交流?
    • 没查过,貌似支持网络+有线协议。如果它是一个宠物项目,请选择低级套接字,你会学到更多。
    【解决方案2】:

    确实,Erlang 提供了一个可供您使用的 Socket 编程模块。选择第一个选项。

    但是这样的低级编程对你来说是必须的吗?如果不适合您的游戏,请考虑创建一个 REST API。毕竟是HTTP。这样就可以实现:

    通过网络发送的所有语言都可以解释的通用协议

    【讨论】:

    • 我不知道 REST API 是什么,但我搜索了一下,发现它是某种 http 或 web 通信 api。我的第一个教导是这仅适用于 Web 应用程序(在 Web 浏览器中运行),但我可能错了?我想知道,只是为了澄清它是我想要编写的独立游戏(而不是 Web 应用程序)。但正如我在第一篇文章中所说,我之前没有接触过网络编程,所以我完全不知道......
    • @theva 这就是我所说的:“如果在你的游戏中使用 REST API 有意义的话”。我不知道你的游戏。如果你想做套接字编程,那么你可以这样做:Java-Erlang、Erlang-Java、Java-Java 或 Erlang-Erlang。
    【解决方案3】:

    创建套接字和 HTTP 的另一种替代方法

    通过网络发送的一些通用协议,所有语言都可以解释

    类似于Apache Thrift 或其他接口描述语言(IDL)。虽然它不支持所有语言,但它支持 Java 和 Erlang。

    【讨论】:

      猜你喜欢
      • 2013-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-06
      • 1970-01-01
      • 2013-11-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多