有什么合适的包能接收 json-rpc 的异步推送吗?

2017-10-23 17:25:55 +08:00
 LiuXuFei

有个 json-rpc 的订阅异步获取,用 wscat 命令行获取如下:

$ wscat -c ws://localhost:1234
connected (press CTRL+C to quit)
> {"id":1, "method":"call", "params":[0,"set_callback",[1]]}
< {"id":1,"jsonrpc":"2.0","result":null}
< {"method":"notice","params":[1,["001492b724a04d5871e1a4f387b2d1933ca31ce4"]]}
< {"method":"notice","params":[1,["001492b8a0e5b3ab604e1f735a2bd9d4f43379d8"]]}
< {"method":"notice","params":[1,["001492b91e6c600dfca3c906b29128bafc9d9c40"]]}
< {"method":"notice","params":[1,["001492ba18d2a0fb63482964b5f5614283cb2459"]]}
< {"method":"notice","params":[1,["001492bb45725b1ae8adad2fe1a063d04982d8c8"]]}
>

有哪些库、方法、程序实例可以订阅等待获取的这些数据,再传与 laravel 做处理,再输出的?

3406 次点击
所在节点    PHP
5 条回复
xzem
2017-10-23 18:00:49 +08:00
这个是 websocket 吗?
ywisax
2017-10-23 18:07:48 +08:00
长连接上就 OK 了吧。连接上监听数据,遇到指定数据就直接 http 转发个 lara 就是了
非要跟 php 实现的话,就用 workerman 的 AsyncTcpConnection 可以实现
qiujin
2017-10-23 18:27:55 +08:00
问题重点是 websocket,首先需要个 websocket client 吧。

用 PHP 写过 jsonrpc 的应用服务,使用通知回调方法也可以实现类似需求,http://www.phpegg.com/doc/app-jsonrpc.html
LiuXuFei
2017-10-23 18:59:59 +08:00
workerman 和 swoole 都应该有方式,只是不知道怎么 post 数据:{"id":1, "method":"call", "params":[0,"set_callback",[1]]},没有看到相应的例子。
haierspi
2017-10-26 10:41:59 +08:00
推荐 你看下 swoole ....
长连接 就要让 php 以服务的方式(长期运行)运行...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/399982

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX