2017-06-24 3 views
0

このwebsocketクライアントライブラリを使用しようとしていますが、ほとんど成功していません。 Erlang websocket clientカウボーイサーバーを持つウェブソケットクライアント

このライブラリを使用してクライアントがリモートサーバーと通信する場合、どのようにメッセージを送信できましたか?

接続をinititateするために、これを呼び出すための基本的な使用を示し、

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

、リモートサーバーにメッセージを送信するために/ 2をキャスト。

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

、私はその手助けがない、リモートサーバーへのテキスト/バイナリフレームを送信するために、コード内の他の同じ機能を使用しようとします。

何か不足していることはありますか?

ありがとうございます!

答えて

1

websocket_client:cast/2の最初のパラメータは、websocket_clientプロセスのpidである必要があります。あなたはstart_link呼び出し、例えばからPIDを取得することができます。

{ok, Pid} = websocket_client:start_link("wss://echo.websocket.org", ?MODULE, []). 

し、リモートサーバーにメッセージをキャストする:websocket_clientプロジェクトcastためのコード例では

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

は内から呼び出されますinit関数の場合、実際にはinit関数がwebsocketクライアントプロセスによって実行されるため、self()を使用できます。あなたはwebsocket_handle/websocket_infoコールバック関数内からcastを呼び出す場合

同様に、あなたはまたのWebSocketクライアント・プロセスによって呼び出されたもの以来self()を使用することができます。

関連する問題