日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

pgsql怎么从interval中取出数字_tp6中swoole扩展websocket的使用

發布時間:2024/10/6 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pgsql怎么从interval中取出数字_tp6中swoole扩展websocket的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

相信不少人都已經知道tp6.0已經適配swoole.并推出think-swoole 3.0 ,這次就來介紹下tp6中swoole擴展websocket的使用。

Websocket 繼承與Http,進行websocket連接之前需要一次HTTP請求,如果當期地址支持websocket則返回101,然后進行連接。也就是說并不是服務支持websocket后,請求每個連接地址都可以進行websocket連接,而是需要預先適配才可以連接。

thinkphp6.0中新增的一項就是Event,websocket服務這塊依賴于Event,因此我們需要先創建一個Event listener

php think make:listener WebsocketTest

執行過后,將會在app目錄下看到新增的目錄和文件


其中handle是用來處理事件。參考如圖進行修改

class WebsocketTest {public $websocket = null;/*** 注入容器管理類,從容器中取出Websocket類,或者也可以直接注入Websocket類,*/public function __construct(Container $container){$this->websocket = $container->make(Websocket::class);}/*** 事件監聽處理** @return mixed*/public function handle($event){//回復客戶端消息$this->websocket->emit("testcallback", ['aaaaa' => 1, 'getdata' => $event['asd']]);//不同于HTTP模式,這里可以進行多次發送$this->websocket->emit("testcallback", ['aaaaa' => 1, 'getdata' => $event['asd']]);} }

Websocket和事件是如何關聯的呢?

打開config目錄找到swoole.php,修改其中配置信息

'websocket' => ['enable' => true,'handler' => Handler::class,'parser' => Parser::class,'ping_interval' => 25000,'ping_timeout' => 60000,'room' => ['type' => 'table','table' => ['room_rows' => 4096,'room_size' => 2048,'client_rows' => 8192,'client_size' => 2048,],'redis' => [],],'listen' => ['test' => applistenerWebsocketTest::class, //這里將事件名稱和事件處理類進行注冊],'subscribe' => [],],'rpc' => ['server' => ['enable' => false,'port' => 9000,'services' => [],],'client' => [],],

接下來就是見證奇跡的時刻,啟動服務,打開http://127.0.0.1:8882/demo.html 并打開控制臺,執行如下代碼,就可以看到頁面打印出服務器反饋的信息
注意發送的數據內容格式,demo中存在字段asd

socket.emit("test",{"asd":"我是內容"})

以上內容希望幫助到大家,很多PHPer在進階的時候總會遇到一些問題和瓶頸,業務代碼寫多了沒有方向感,不知道該從那里入手去提升,對此我整理了一些資料,包括但不限于:分布式架構、高可擴展、高性能、高并發、服務器性能調優、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql優化、shell腳本、Docker、微服務、Nginx等多個知識點高級進階干貨需要的可以免費分享給大家,需要請戳這里鏈接 或 者關注咱們下面的知乎專欄PHP架構師圈子?zhuanlan.zhihu.com

總結

以上是生活随笔為你收集整理的pgsql怎么从interval中取出数字_tp6中swoole扩展websocket的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。