【发布时间】:2019-02-24 15:26:59
【问题描述】:
我有一个 gen_server 模块,我使用 gun 作为 http 客户端与 http 服务器建立长拉连接,所以我在模块的 init 中调用 gun:open,但是如果 gun:open 失败,我的模块失败,所以我的应用程序无法启动。这样做的正确方法是什么。以下是我的代码:
init() ->
lager:debug("http_api_client: connecting to admin server...~n"),
{ok, ConnPid} = gun:open("localhost", 5001),
{ok, Protocol} = gun:await_up(ConnPid),
{ok, #state{conn_pid = ConnPid, streams = #{},protocol = Protocol}}.
【问题讨论】:
-
具体错误是什么?你的代码看起来不错。我也使用 gun 编写了一个 http 客户端。也许这个例子会有所帮助:) github.com/zhongwencool/eetcd/blob/master/src/…
-
嘿,我是github.com/amark/gun的作者,我很困惑,这和我们有关吗?列出的几个命令与我们的 API 匹配,有人将 GUN 移植到 erlang 吗?或者有没有一个名为 gun 的 Erlang 项目?
-
@marknadal 这是一个无关的 Erlang 项目,一个 HTTP 客户端 :) github.com/ninenines/gun
标签: erlang erlang-otp gun