動的なWebアプリを作成したいのですが、sockjsは非常に有望です。
ただし、サーバーからクライアントにデータをプッシュする方法がわかりません。ドキュメント(2つの小さな例で構成されています)には、いくつかの«エコーサーバー»の例が示されています。
しかし、私が得るものは:
- ユーザーがsockjsとの接続を開き、PIDまたはIDを取得します
- 次に、このpidにメッセージを送信して、ブラウザーにプッシュできます。
どうしたらいいのかわからない。
これは彼らのハンドラーです
service_echo(_Conn, init, state) -> {ok, state};
service_echo(Conn, {recv, Data}, state) -> Conn:send(Data);
service_echo(_Conn, closed, state) -> {ok, state}.
こんなもの欲しい
service_push(Conn, init, state) ->
Pid = Conn:pid(),
---- here get user ID from cookies or another way ----
push_service:register(user,UserID,Pid),
{ok, state};
service_echo(Conn, {recv, Data}, state) -> do_something:with(Data);
service_echo(Conn, closed, state) -> service_push:unregister(Conn:pid()).
そして、私はConn's Pidに情報を送信することができ、このConnはクライアントにデータを送信します。
書き方がわかりません。
ありがとう