gpt4 book ai didi

java - 如何与一个 Erlang 节点中的特定进程进行通信?

转载 作者:太空宇宙 更新时间:2023-11-04 14:55:59 26 4
gpt4 key购买 nike

我有一个 Erlang 服务器,它为每个连接的客户端生成一个新进程。然后这个新进程的 Pid 被传递给客户端(以建立到新进程的连接)。这足以从 jinterface 客户端建立连接吗?

我首先使用它从客户端连接:

final String SERVERNAME = "server";
final String SERVERNODE = "bertil@computer";

mbox.send(SERVERNAME, SERVERNODE, connectClient);

这些名称是在服务器启动时设置的:

start() ->
net_kernel:start([bertil, shortnames]),
register(server, self()).

我是否必须为每个生成的进程注册一个新名称?那不会那么动态...我该如何解决这个问题?我应该使用服务器上的主进程作为路由器来发送所有流量吗?

最佳答案

一旦你有了 pid,你应该能够直接向它发送消息。在 Erlang 中,如果你有 pid,则不必指定节点。如果您要发送到注册名称,则只需要一个节点,因为每个节点的名称都是唯一的。 pid在整个集群中是唯一的。

如果您有一个变量 my_pid 作为 OtpErlangPid您可以像这样发送对象:

 mbox.send(my_pid, message);

请参阅 send function 的文档和章1.6 Sending and Receiving Messages在 Jinterface 用户指南中。

关于java - 如何与一个 Erlang 节点中的特定进程进行通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23192937/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com