Websocket上的erlang错误-总是将请求传递给loop而不是ws_loop

Websocket on erlang misultin - always pass request to loop instead of ws_loop

本文关键字:loop ws 请求 erlang 上的 错误 Websocket      更新时间:2023-09-26

在misultin中设置websocket非常简单,如下所示。

start(Port) ->                                                                                                                                                                                                                    
  misultin:start_link([
    {port, Port},
    {loop, fun(Req) -> handle_http(Req, Port) end},
    {ws_loop, fun(Ws) -> handle_websocket(Ws) end}
  ]).

然而,在我的javascript代码中,ws = new WebSocket("ws://url")总是传递给handle_http()而不是handle_websocket()

有人知道我错过了什么吗?

Misultin已连续3年未维护。

可能不支持当前的websocket标准。

在某种程度上,由于websocket兼容性,我最终将我的系统从Misultin切换到Cowboy。这可能不是您遇到的问题,但很有可能是。

我将Misultin版本从0.8升级到0.9,问题解决了。0.8版本声称它支持websocket,但似乎不是真的。