WebSocket協議是基於TCP的一種新的網絡協議。它實現了瀏覽器與服務器全雙工(full-duplex)通訊——容許服務器主動發送信息給客戶端。php
接下來,若是是單純想學習WebSocket的使用方式的話,可使用DanmuPlayer項目的源碼,是一款Html5彈幕視頻播放器插件,也能夠執行寫一個彈幕插件。我比較懶,直接使用了現成的插件,按照文檔配置好後,能夠在本地單機使用彈幕效果了。
因爲這次是單純簡單入門Swoole,並無作複雜的代碼封裝。html
1.直接在DanmuPlayer下,demo文件夾中,建立ws_server.php文件,代碼以下:web
2.打開index.html文件,在對應位置加入調用WebSocket的JS代碼,同時,能夠不調用數據庫寫入和獲取的代碼,代碼以下:數據庫
3.打開src文件夾下js文件夾中的main.js,找到sendDanmu的函數定義,註釋掉原代碼中的addDanmu調用,修改成websocket.send()方法,將對應的彈幕Json經過websocket傳遞,代碼以下:瀏覽器
4.接下來,就能夠運行WebSocket並記錄到log.txt文件了。服務器
nmw@nmw /w/w/D/demo> nohup php5.6 ws_server.php > log.txt &
以上,即是簡要WebSocket實現彈幕的總體代碼。瀏覽器經過 JavaScript 向服務器發出創建 WebSocket 鏈接的請求,鏈接創建之後,客戶端和服務器端就能夠經過 TCP 鏈接直接交換數據。websocket