介绍
小编给大家分享一下Think-Swoole之WebSocket事件订阅的示例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
通过前面的实例中,如果按照之前的事件监听方式,客户端的每个场景事件,服务端都需要创建每个对应的事件,如果事件太多,app/侦听器目录下将会有很多的文件(其实也不算什么坏现象),事件订阅就是为了解决这一问题,把所有的事件都写在一个文件中。
下面用事件订阅的方式处理事件
首先需要把之前在app/事件。php监听的事件给注释掉,然后创建一个监听事件:php认为:侦听器分测验。
然后在config/swoole。php配置中的websocket=比;订阅配置刚创建的监听文件:
& # 39;websocket # 39;,,=祝辞,( ,,,,,,。 ,,,,,,。 ,,,,,,。 ,,,,,,,& # 39;听,,,,,,,,,=祝辞,[], ,,,,,,,& # 39;订阅# 39;,,,,,=祝辞,( ,,,,,,,,,,\ \ app \侦听器分测验::类 ,,,,,,,, ],
在app/听众/分测验。php中定义需要监听的事件:
& lt; php ? declare (strict_types =, 1); namespace 应用\侦听器; class 分测验 { ,,,protected websocket 美元;=,空; ,,,public function __construct () { ,,,,,,,美元却;能够→,websocket =,应用(& # 39;\认为\ swoole \ websocket # 39;); ,,,} ,,,//连接事件 ,,,public function onConnect () { ,,,,,,,美元却;能够→,websocket →,发出(& # 39;sendfd& # 39;,美元却;能够→,websocket →, getSender ()); ,,,} ,,,//加入房间 ,,,public function onJoin(事件) { ,,,,,,,美元却;能够→,websocket →,加入(美元事件[& # 39;房间# 39;]); ,,,,,,,美元却;能够→,websocket →,发出(& # 39;joincallback& # 39; & # 39;加入房间成功& # 39;); ,,,} ,,,public function onRoomTest(事件) { ,,,,,,,美元却;能够→,websocket →,到(美元事件[& # 39;房间# 39;]),→,发出(& # 39;roomtestcallback& # 39;美元事件[& # 39;消息# 39;]); ,,,} }
监听事件的方法命名规范:在+事件场景标识(驼峰命名)
用之前的前端页面进行测试,一切正常。
以上是“Think-Swoole之WebSocket事件订阅的示例”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!