前言php
ThinkPHP即將迎來最新版本6.0,針對目前愈來愈流行Swoole,thinkphp也推出了最新的擴展think-swoole 3.0。html
介紹react
即將推出的tp6.0,已經適配swoole.並推出think-swoole 3.0,而且默認適配了socketio。和2.0版本在使用方法上面有些許不一樣。web
Websocket 繼承與Http,進行websocket鏈接以前須要一次HTTP請求,若是當期地址支持websocket則返回101,而後進行鏈接。也就是說並非個人服務支持websocket後,請求每一個鏈接地址均可以進行websocket鏈接,而是須要預先適配才能夠鏈接。thinkphp
參數配置apache
1json 2websocket 3swoole 4cookie 5 6 7 8 9 10 11 12 13 14 |
|
連接:https://pan.baidu.com/s/1v5gm7n0L7TGyejCmQrMh2g 提取碼:x2p5
免費分享,可是X度限制嚴重,如若連接失效點擊連接或搜索加羣 羣號518475424。
handler和parser大大方便了自定義websocket服務,默認系統集成socketio。
本文主要介紹如何使用socketio,這裏假設你們有socketio有必定了解和使用基礎。
socketIo默認會在請求地址後加相應的參數
同時,socketio默認狀況下,會認爲 http://url/socket.io/ 是支持websocket服務的地址。
而在tp-swoole3.0內部已經對該地址請求進行了處理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
TP6.0,插件註冊採用了service方式進行了註冊,可在tp-swoole 服務註冊文件中查看路由註冊信息,若是想自定義連接規則,則能夠覆蓋該路由。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
Socketio默認使用demo
1 2 3 4 5 6 7 |
|
Websocket路由配置方法
在app目錄下新建websocket.php文件,其中須要注意,因爲使用了反射,閉包參數名稱不能隨意定義,否則沒法注入。第一個參數是websocket,是當前websocket的Server對象,第二個參數data是客戶端發送的數據。其中socketio emit的第一個參數和Websocket::on的第一個參數一致,做爲事件名稱。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
參考如上方法便可使用全新的websocket服務。固然tp-swoole3.0一樣還有許多其餘的新功能,這些功能須要你們去摸索嘗試。我也會在接下來的文章中,一塊兒與你們分享個人使用過程。