Erlang 如何在Cowboy中使用ws和wss进行网络聊天?

Erlang 如何在Cowboy中使用ws和wss进行网络聊天?,erlang,cowboy,Erlang,Cowboy,我正在使用Cowboy和gproc在WebSocket上建立一个网络聊天 现在,我想知道您是否可以为我介绍一些项目、资源或代码片段,以便从简单websocket(ws)迁移到websocket安全连接(wss) 有什么方法可以修改关于WebSocket的cowboy示例来制作聊天应用程序吗?我在cowboy中使用sockjs 牛仔 SockjsState = sockjs_handler:init_state(<<"/ws">>, fun my_sockjs_handle

我正在使用Cowboy和gproc在WebSocket上建立一个网络聊天

现在,我想知道您是否可以为我介绍一些项目、资源或代码片段,以便从简单websocket(ws)迁移到websocket安全连接(wss)


有什么方法可以修改关于WebSocket的cowboy示例来制作聊天应用程序吗?

我在cowboy中使用sockjs

牛仔

SockjsState = sockjs_handler:init_state(<<"/ws">>, fun my_sockjs_handler:hook/3, state, []),

Dispatch = cowboy_router:compile([
{'_', [     
        {<<"/ws/[...]">>,sockjs_cowboy_handler, SockjsState}
    ,{'_', my_handler, []}
    ]}
]),
{ok, _} = cowboy:start_https(https, 100, [
    {port, 443},
    {cacertfile, "priv/ssl/my_cacertfile.crt"},
    {certfile, "priv/ssl/my_certfile.crt"},
    {keyfile, "priv/ssl/my_key_file.key"}
], [{env, [{dispatch, Dispath}]}]),

它在https上运行得非常好

我使用sockjs和cowboy

牛仔

SockjsState = sockjs_handler:init_state(<<"/ws">>, fun my_sockjs_handler:hook/3, state, []),

Dispatch = cowboy_router:compile([
{'_', [     
        {<<"/ws/[...]">>,sockjs_cowboy_handler, SockjsState}
    ,{'_', my_handler, []}
    ]}
]),
{ok, _} = cowboy:start_https(https, 100, [
    {port, 443},
    {cacertfile, "priv/ssl/my_cacertfile.crt"},
    {certfile, "priv/ssl/my_certfile.crt"},
    {keyfile, "priv/ssl/my_key_file.key"}
], [{env, [{dispatch, Dispath}]}]),
它在https上运行得非常好