我正在关注这个例子。我已经使用" websocket_handle({text,<<" h">>},状态) - >稍微修改了我的ws_handler
{reply,{text,<< "你h-in!">>},State};"
确认我可以检测到特定消息。
我想跟踪websocket连接。在https://ninenines.eu/docs/en/cowboy/1.0/guide/ws_handlers/我看到有一个Req对象,但我不确定要搜索什么来查看它包含的内容。
我找到了communicating between http handler and websocket handler in Cowboy;我不理解示例答案的含义。
https://github.com/ninenines/cowboy/tree/master/examples/websocket在erlang.mk
中使用了pkg_cowboy_commit = 1.0.4,我还没有找到使用最新2.0版牛仔的例子。
我想通过列表中的ID或PID跟踪websocket连接,当它们断开连接时删除引用等等。除了在每条消息上发送文本的第一个字节作为ID之外,我认为没办法这样做似乎错了。
相比之下,例如socket.io,你得到socket.id
- 我想在Erlang中使用相同类型的引用。
答案 0 :(得分:0)
我正在考虑创建一个引用websocket State的进程。所以
websocket_init(State) ->
将State传递给进程,并将新进程PID添加到websocket的状态
然后在
websocket_handle({text, Msg}, State) ->
可以通过从连接到自定义域逻辑的PID加载数据来发送自定义{reply, Reply}
。