我想构建一个动态网络应用程序,我发现 sockjs 非常有前途。
但是,我不知道如何将数据从服务器推送到客户端。文档(包含两个小示例)显示了一些 « echo server » 示例。
但我会得到的是:
- 用户打开与 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 的 Pid,这个 Conn 会将数据发送到客户端。
我不知道怎么写。
谢谢