swoole打開WebSocket的方法-創(chuàng)新互聯(lián)

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

創(chuàng)新互聯(lián)自2013年創(chuàng)立以來,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元扶余做網(wǎng)站,已為上家服務(wù),為扶余各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220

WebSocket(ws)是html5新增加的一種通信協(xié)議,目前流行的瀏覽器都支持這個(gè)協(xié)議,例如Chrome,Safrie,F(xiàn)irefox,Opera,IE等等,對(duì)該協(xié)議支持最早的應(yīng)該是chrome,從chrome12就已經(jīng)開始支持,隨著協(xié)議草案的不斷變化,各個(gè)瀏覽器對(duì)協(xié)議的實(shí)現(xiàn)也在不停的更新。

swoole 1.7.9增加了內(nèi)置的WebSocket服務(wù)器支持,通過幾行PHP代碼就可以寫出一個(gè)異步非阻塞多進(jìn)程的WebSocket服務(wù)器。

$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服務(wù)器除了接收Swoole\Server和Swoole\Http\Server基類的回調(diào)函數(shù)外,額外增加了3個(gè)回調(diào)函數(shù)設(shè)置。其中:

onMessage回調(diào)函數(shù)為必選

onOpen和onHandShake回調(diào)函數(shù)為可選

WebSocket\Server是Server的子類,因此可以調(diào)用Server的全部方法。

需要注意WebSocket服務(wù)器向客戶端發(fā)送數(shù)據(jù)應(yīng)當(dāng)使用WebSocket\Server::push方法,此方法會(huì)進(jìn)行WebSocket協(xié)議打包。而Server::send方法是原始的TCP發(fā)送接口。

WebSocket\Server::disconnect方法可以從服務(wù)端主動(dòng)關(guān)閉一個(gè)WebSocket連接,可以指定狀態(tài)碼(根據(jù)WebSocket協(xié)議,可使用的狀態(tài)碼為十進(jìn)制的一個(gè)整數(shù),取值可以是1000或4000-4999)和關(guān)閉原因(采用utf-8編碼、字節(jié)長(zhǎng)度不超過125的字符串)。

在未指定情況下狀態(tài)碼為1000,關(guān)閉原因?yàn)榭?/p>

看完了這篇文章,相信你對(duì)swoole打開WebSocket的方法有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

標(biāo)題名稱:swoole打開WebSocket的方法-創(chuàng)新互聯(lián)
鏈接地址:http://muchs.cn/article6/cdspog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化軟件開發(fā)、網(wǎng)站營(yíng)銷、響應(yīng)式網(wǎng)站做網(wǎng)站、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營(yíng)銷型網(wǎng)站建設(shè)