如何从 Java 向 Erlang 发送消息?
我正在 Erlang 中制作一个应用程序,并使用 Java 中的 GUI。 我已经成功地在两种语言之间建立了连接,但现在我需要(我猜)每次按下按钮时,我都需要(我猜)从 Java 向 Erlang 发送一条消息。
这是正确的做法吗?
这样的消息看起来怎么样?
我发现了一些关于这种形式的集成的好网站,但我觉得我没有得到一切。
I'm making a application in Erlang, with a GUI in Java.
I've managed to establish a connection between the to languages, but now i need to (i guess) send a message from Java to Erlang, every time I e.g press a button.
Is that the right way to go?
How would such a message look?
I've found a few good sites about this form of integration, but I feel like im not getting everything.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
除了通过 OTP jinterface 进行经典的 Java-Erlang 通信之外,您还可以研究以下方法:
您需要了解流量的形状并选择最佳解决方案。
Jinterface 还不错,不过..(这是官方文档: http:// www.erlang.org/doc/apps/jinterface/jinterface_users_guide.html)
Besides classic Java-Erlang communication via OTP jinterface you can research such methods like:
You need to learn the shape of your traffic and choose the best solution.
Jinterface is not so bad, tho.. (here is official doc: http://www.erlang.org/doc/apps/jinterface/jinterface_users_guide.html)
如果 jinterface 太复杂,你可以只使用 open_port 上的 packet 选项并使用
To read packet from erlang and to write use:
在 erlang 端,这将与
If you needlarge packet use {packet, 2} or {packet, 4并适应 java.
在数据包内部,您可以在双方上运行您喜欢的任何协议。
If jinterface is too complicated you might just use the packet option on open_port and use
To read packets from erlang and to write use:
On the erlang side this would match with
If you need larger packets use {packet, 2} or {packet, 4} and adapt the java.
Inside the packets you can run whatever protocol you like on both sides.
我正在开发一个与您类似的应用程序:C++ GUI 和 Erlang 服务器。我使用 TCP 套接字在 GUI 和服务器之间交换消息,并使用 Erlang 服务器模式来处理请求(我可能有多个 GUI 同时连接到服务器)。
I am working on an application similar to yours: C++ GUI and Erlang server. I use TCP sockets to exchange messages between the GUI and server, and Erlang server patterns for handling requests (I may have more than one GUI hooked up to the server at the same time).