带有牛仔服务器的Erlang websocket客户端

时间:2017-06-24 20:24:14

标签: websocket erlang

我试图使用这个websocket客户端库,但收效甚微。 Erlang websocket client

如果有人使用此库来构建与远程服务器通信的客户端,您是如何发送消息的?

基本用法显示调用它来启动连接,

websocket_client:start_link("wss://echo.websocket.org", ?MODULE, []).

和cast / 2将消息发送到远程服务器。

websocket_client:cast(self(), {text, <<"message 1">>}).

但是,如果我尝试在代码中使用相同的函数将文本/二进制框架发送到远程服务器,那就无济于事了。

我有什么遗失的吗?

谢谢!

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中调用initself()的示例代码,在这种情况下,他们可以使用init cast函数实际上是由websocket客户端进程执行的。

同样,如果您从websocket_handle / websocket_info回调函数中调用self(),则可以使用{{1}},因为websocket客户端进程也会调用它们。