上網搜了一下,看到 PHP 中有不少 Socket 相關函數,其使用流程是:
socket_create
socket_bind
socket_listen
socket_accept
socket_read
socket_write
socket_close
然而最沒弄清楚的是 socket_accept 這一步。要透過 while (true) {} 無限迴圈來使用。
是不是只能用 CLI 命令列方式來執行 PHP 檔案了?
另外,在客戶端接收和發送訊息給伺服器這個好像容易些,但要如何在服務端能夠隨意地接收和發送訊息給客戶端呢? (而不是像網路範例只在循環語句中接收、發送一次便將 socket 物件關閉結束了。
用swoole,非常好
我們已經用在微信小程式上
php swoole擴充中的websocket可以實現即時通訊功能
首選 swoole
什麼是Workerman
Workerman是純PHP開發的開源高效能的PHP socket 伺服器框架。廣泛的用於手機app、行動通訊,微信小程序,手遊服務端、網路遊戲、PHP聊天室、硬體通訊、智慧家庭、車聯網、物聯網等領域的開發。 支援TCP長連接,支援Websocket、HTTP等協議,支援自訂協議。擁有非同步Mysql、非同步Redis、非同步Http、非同步訊息佇列等眾多高效能元件。
workerman或swoole都可以。