我试图使用这个websocket客户端库,但收效甚微。 Erlang websocket client
如果有人使用此库来构建与远程服务器通信的客户端,您是如何发送消息的?
基本用法显示调用它来启动连接,
websocket_client:start_link("wss://echo.websocket.org", ?MODULE, []).
和cast / 2将消息发送到远程服务器。
websocket_client:cast(self(), {text, <<"message 1">>}).
但是,如果我尝试在代码中使用相同的函数将文本/二进制框架发送到远程服务器,那就无济于事了。
我有什么遗失的吗?
谢谢!
答案 0 :(得分:2)
请注意,websocket_client:cast/2
的第一个参数必须是websocket_client
进程的pid。您可以通过start_link
电话获取pid,例如:
{ok, Pid} = websocket_client:start_link("wss://echo.websocket.org", ?MODULE, []).
并将消息转发给远程服务器:
websocket_client:cast(Pid, {text, <<"message 1">>}).
在websocket_client
项目cast
中调用init
项self()
的示例代码,在这种情况下,他们可以使用init
cast
函数实际上是由websocket客户端进程执行的。
同样,如果您从websocket_handle
/ websocket_info
回调函数中调用self()
,则可以使用{{1}},因为websocket客户端进程也会调用它们。