gpt4 book ai didi

Erlang:什么时候执行 `inets:start()` ?

转载 作者:行者123 更新时间:2023-12-01 00:05:06 25 4
gpt4 key购买 nike

什么地方适合表演inets:start() ?

  • 在“applicationname_app”模块中?
  • applicationname_sup主管模块?
  • 在从主管挂起的子进程中?\
  • 别的地方?

  • (我还在为 inets:httpd 苦苦挣扎)

    备注 : 答案不能是“使用启动文件”,请。

    最佳答案

    inets 是一个“独立”的 Erlang 应用程序; inets:start()只是 application:start(inets) 的别名.我想答案很大程度上取决于你如何维护你的代码。

    如果您的代码被打包为 application ,您的 .app 文件应列出 inets根据需要在您之前启动(请参阅应用程序标签)。使用 application:start(my_app). 开始您的应用程序现在将确保 inets 也已启动。结果:如果你制作了一个引导文件,它也会为你启动 inets :-P

    如果您热衷于不使用应用程序,我想选择取决于您的代码的工作方式。如果您总是需要启动 inets,最好由您的任何主管启动。如果很少需要它,您始终可以确保它以以下方式开始:

    ensure_app_started(App) ->
    case application:started(App) of
    ok -> ok;
    {error, already_started} -> ok;
    Error -> Error
    end.

    关于Erlang:什么时候执行 `inets:start()` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1839862/

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