【问题标题】:erlang cowboy websocket- number of open socketserlang cowboy websocket- 打开的套接字数
【发布时间】:2016-02-04 14:29:51
【问题描述】:

我使用牛仔模块编写了一个 Erlang 聊天后端。

我正在尝试弄清楚如何记录当前连接的打开 Web 套接字连接的数量。

我一直在寻找这个问题的答案,但我找不到。

你知道怎么做吗?

感谢您的宝贵时间,

【问题讨论】:

    标签: websocket erlang cowboy


    【解决方案1】:

    将您的 websocket 计入 websocket_initwebsocket_handle 我在websocketets表中写下公众的信息

    添加关于websocket的信息:

    websocket_handle({text, Msg}, Req, State) ->
                ets:insert(systbl_websockets, {self(), get_current, other_info}),
                {reply, [{text, <<"ok">>}], Req, State, hibernate};
        end;
    

    删除websocket关于:

    的信息
    websocket_terminate(_Reason, _Req, _State) ->
        lager:debug("Close connection"),
        ets:delete(systbl_websockets, self()),
        {ok, _Req, _State, shutdown}.
    

    【讨论】:

    • 我已经实现了一个计数器,遍历所有进程,初始调用 {cowboy_protocol,init,4} 这似乎工作得很好
    • @user1668328 从技术上讲,这(过程迭代)对我来说听起来有点狡猾。至少它很容易因为牛仔的变化而破裂。我不得不说我更喜欢回答者发布的解决方案。
    猜你喜欢
    • 1970-01-01
    • 2021-06-15
    • 2012-10-10
    • 2015-12-01
    • 2013-04-25
    • 1970-01-01
    • 1970-01-01
    • 2018-04-24
    • 2013-10-22
    相关资源
    最近更新 更多