问题标签 [gen-server]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6125 浏览

erlang - Erlang 停止 gen_server

我有 gen_server:

现在我想编写函数来停止这个 gen 服务器。我有:

我运行它:

但:

是工作。

如何按名称运行 gen_server 并按名称停止?

谢谢你。

0 投票
1 回答
1614 浏览

erlang - Erlang 将消息投射到全局 gen_server

这是上一个问题的继续

我有 gen_server:

如何正确地向这个 gen_server 发送消息。例如:在我制作的另一个文件中:

在我的 gen_server 文件中,我有:

我用测试名称启动我的 gen_server:

服务器:开始(测试)。测试开始

当我调用gen_server:cast(test, message).它时,shell 中没有任何输出。我如何检查 handle_cast 调用与否?

谢谢你。

0 投票
1 回答
6112 浏览

erlang - Erlang gen_server 转换错误的返回值

我尝试将消息投射到 gen_server:

处理程序是:

但是当我执行gen_server:castgen_server 时出现错误:

为什么我会得到bad_return_value

0 投票
1 回答
305 浏览

erlang - Erlang 启动 gen_server 阻塞代码

我的 erlang 代码中有 gen_server 。当我尝试运行它之后的下一个代码不起作用。例如:

现在 io:format/1 不起作用。如果我使用 spawn 运行 gen_server:

现在 io:format 工作了。为什么?

谢谢你。

0 投票
4 回答
13726 浏览

erlang - 如何使用 Erlang 的 gen_server 定期执行操作?

我想启动一个 gen_server ,它每分钟执行一个动作。

安排它的最佳方式是什么?

0 投票
2 回答
1680 浏览

erlang - 如何在erlang中测试gen server?

我是 erlang 的初学者,我编写了一个基本的 gen 服务器程序,如下所示,我想知道如何测试服务器,以便我知道它运行良好。

顺便说一句:程序可以编译,它不是一个好的程序,我只是想打印一些东西以确保它可以工作:)

0 投票
3 回答
252 浏览

erlang - 解决两个 gen_tcp 之间的死锁

在浏览 erlang 应用程序的代码时,我遇到了一个有趣的设计问题。让我描述一下情况,但由于 PIA 抱歉,我无法发布任何代码。

该代码被构造为一个 OTP 应用程序,其中两个gen_server模块负责分配某种资源。该应用程序在一段时间内完美运行,我们并没有真正遇到大问题。

当第一个gen_server需要检查第二个是否有足够的资源时,棘手的部分就开始了。Acall被发布到第二个 gen_server,它本身调用一个实用程序库(在非常非常特殊的情况下)call向第一个 gen_server 发布 a。

我对 erlang 比较陌生,但我认为这种情况会让两个 gen_server 互相等待。

这可能是一个设计问题,但我只是想知道 OTP 中是否有任何特殊机制可以防止这种“挂起”。

任何帮助,将不胜感激。

编辑:总结答案:如果您遇到两个彼此循环的情况,您最好在应用程序设计中花费更多时间gen_servercall

谢谢你的帮助 :)

0 投票
3 回答
1394 浏览

erlang - Erlang 消息可以发送哪些类型的消息?

主要是我想知道我是否可以在分布式 Erlang 设置中的消息中发送函数。

在机器 1 上:

在机器 2 上:

是否有意义?

0 投票
1 回答
2652 浏览

erlang - 何时使用 Gen_Fsm 以及何时使用 Gen_Server?

查看 Gen_Fsm 和 Gen_Server 文档后,我发现它们或多或少具有相似的行为。在我看来,如果有一个循环函数用于发送广播或监听 tcp sock,最好使用 Gen_Fsm,否则使用 gen_server。我想知道它是否正确?

0 投票
2 回答
3762 浏览

erlang - Erlang 异步消息处理与 gen_server:cast/2

我正在寻找使用 gen_server:cast/2 处理Erlang异步消息的好例子。

我在OTP ssh模块中看到过一个例子,它通过Module:handle_cast/2接收请求,将其保存在模块的本地队列中,稍后通过显式发送消息发送回与请求对应的回复消息给来电者。当我试图阅读它时,我几乎无法跟踪代码,也无法掌握这个想法。

一段伪代码表示赞赏。