91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

swoole打開WebSocket的方法

發布時間:2020-12-19 11:57:34 來源:億速云 閱讀:157 作者:小新 欄目:編程語言

小編給大家分享一下swoole打開WebSocket的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

WebSocket(ws)是html5新增加的一種通信協議,目前流行的瀏覽器都支持這個協議,例如Chrome,Safrie,Firefox,Opera,IE等等,對該協議支持最早的應該是chrome,從chrome12就已經開始支持,隨著協議草案的不斷變化,各個瀏覽器對協議的實現也在不停的更新。

swoole 1.7.9增加了內置的WebSocket服務器支持,通過幾行PHP代碼就可以寫出一個異步非阻塞多進程的WebSocket服務器。

$server = new Swoole\WebSocket\Server("0.0.0.0", 9501);
$server->on('open', function (Swoole\WebSocket\Server $server, $request) {
    echo "server: handshake success with fd{$request->fd}\n";
});
$server->on('message', function (Swoole\WebSocket\Server $server, $frame) {
    echo "receive from {$frame->fd}:{$frame->data},opcode:{$frame->opcode},fin:{$frame->finish}\n";
    $server->push($frame->fd, "this is server");
});
$server->on('close', function ($ser, $fd) {
    echo "client {$fd} closed\n";
});
$server->start();

WebSocket服務器除了接收Swoole\Server和Swoole\Http\Server基類的回調函數外,額外增加了3個回調函數設置。其中:

onMessage回調函數為必選

onOpen和onHandShake回調函數為可選

WebSocket\Server是Server的子類,因此可以調用Server的全部方法。

需要注意WebSocket服務器向客戶端發送數據應當使用WebSocket\Server::push方法,此方法會進行WebSocket協議打包。而Server::send方法是原始的TCP發送接口。

WebSocket\Server::disconnect方法可以從服務端主動關閉一個WebSocket連接,可以指定狀態碼(根據WebSocket協議,可使用的狀態碼為十進制的一個整數,取值可以是1000或4000-4999)和關閉原因(采用utf-8編碼、字節長度不超過125的字符串)。

在未指定情況下狀態碼為1000,關閉原因為空

看完了這篇文章,相信你對swoole打開WebSocket的方法有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

秦安县| 浠水县| 高陵县| 枝江市| 东安县| 高淳县| 成安县| 宜兰县| 辰溪县| 桦甸市| 四川省| 东源县| 鄂托克前旗| 通榆县| 红桥区| 岱山县| 灵武市| 长宁区| 施秉县| 怀仁县| 靖安县| 渝中区| 桦川县| 郯城县| 开平市| 吉安市| 丽水市| 郸城县| 芜湖县| 宝清县| 章丘市| 静海县| 都江堰市| 九寨沟县| 彭泽县| 慈溪市| 景洪市| 甘洛县| 耿马| 石首市| 会宁县|