如何使用Cowboy通过WebSocket异步发送数据?

nmi*_*els 5 erlang websocket cowboy

我有一个Cowboy Websocket服务器,我想注册一个gen_event处理程序,该处理程序通过websocket发送一些信息。我还需要能够使用来回复常规的同步请求websocket_handle/3。在cowboy_http_websocket_handler.erl中没有看到任何明显的内容,并且cowboy_http_websocket:websocket_send / 3没有导出。我是否错过了通过打开的套接字发送内容的简便方法?

nmi*_*els 3

示例 websocket handler中,websocket_info/3 用于发送类似这样的内容。将websocket 的初始化代码中的gen_event:add_sup_handler/3与 websocket_info/3结合起来。将连接的 pid 保留在处理程序的状态中,并仅发送带有异步事件的消息。