Think-Swoole之WebSocket事件订阅的示例

  介绍

小编给大家分享一下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事件订阅的示例”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

Think-Swoole之WebSocket事件订阅的示例