Java客户端和Erlang服务器?

4
我即将编写一个客户端-服务器应用程序(一个简单的游戏),我想在服务器端使用Erlang,在客户端使用Java。我该如何连接客户端和服务器?我之前从未涉足过网络编程...
我认为"sockets"是我应该使用的东西,我对吗?如果是这样,我能否在客户端上使用Java的sockets类来发送/接收消息,在服务器上使用一些对应的sockets模块来接收消息吗?还是必须在服务器上拥有某种Java接收器,然后进行转换到Erlang?Sockets是一种通过网络发送的通用协议,所有语言都可以解释吗?
3个回答

1

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

但是,这种低级别的编程对您来说是否是必须的?如果不是为了您的游戏,那么请考虑创建REST API。毕竟它是HTTP。因此,您可以实现:

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


我之前对REST API一无所知,但是我通过谷歌搜索发现它是一种HTTP或Web通信API。我的第一反应是这只适用于Web应用程序(在Web浏览器中运行),但我可能错了吗?我想澄清的是,我要编写的是一个独立的游戏,而不是Web应用程序。但正如我在第一篇帖子中所说,我以前没有涉及过网络编程,所以完全不知道... - rablentain
1
@theva 这就是我说的:“如果在你的游戏中使用REST API有意义的话。”我不了解你的游戏。如果你想进行套接字编程,那么你可以这样做:Java-Erlang、Erlang-Java、Java-Java或Erlang-Erlang。 - Chiron

1

嗯,如果我说我想学习适用于更大型游戏(如真正的多人游戏)的网络方式,这会让我的决定更容易吗? 我看了一下JInterface,它似乎是在语言之间进行通信的好方法。它同时可以进行网络通信和语言通信吗? - rablentain
还没有检查过,但看起来它支持网络和线路协议。如果这是一个个人项目,请使用低级套接字,你会学到更多。 - nablaone

0

创建网络传输的另一种选择,除了使用套接字和HTTP:

一些通用协议通过网络发送,所有编程语言都能解释

类似 Apache Thrift 或其他接口描述语言(IDL)可以实现这一点。虽然不支持 所有 语言,但它支持 Java 和 Erlang。


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