php – swoole – 架設 websocket 簡單範例

安裝 swoole 擴展 以後,接著我們要示範是否能建立 websocket 給 Client 端。

swoole.php

  • $ws->push() 推送給 Client 端數據。參考
  • 在 callback 中的 echo, print_r, var_dump … 的輸出,都會顯示在 Command-Lind 而不是給 Client 端。

 

Client 的 JS 程式碼 index.html

 

使用 command line 觸發 Swoole

如果使用如 SSH 連接遠端主機下了這個指令,一旦關閉操作視窗後,運行 websocket 會停止。要是你希望 Linux 使用者離開後,服務仍然啟動,可以使用 screen 指令 (或 nohup 指令)。例如

關閉視窗後重新回到 Linux, 要顯示哪些 php 被運行,可以使用

可使用 kill 指令刪掉來關閉服務

參考網友

瀏覽器運行

上方 onMessage 目前會將接收到的訊息,發送給所有人。也就是說,如果是A發送到 websocket,那麼 websocket 也會把訊息發送給 A,B,C,D…… 如果自己發送的訊息不想接收到,可以參考進階範例

Comments

發表迴響