国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

關(guān)于數(shù)據(jù)壓縮,請(qǐng)問是否能夠動(dòng)態(tài)改變websocket傳輸?shù)臄?shù)據(jù)類型,比如二進(jìn)制和文本同時(shí)支持

daming

gatewayworker里面看到:
// 當(dāng)客戶端連接上來時(shí),設(shè)置連接的onWebSocketConnect,即在websocket握手時(shí)的回調(diào)
$gateway->onConnect = function($connection)
{
$connection->websocketType = Workerman\Protocols\Websocket::BINARY_TYPE_ARRAYBUFFER;
}
如果啟用gzip壓縮,則這里設(shè)置成BINARY_TYPE_ARRAYBUFFER,不過設(shè)置后,就變成這個(gè)用戶的連接永久都是這個(gè)傳輸類型了,對(duì)于小文本,幾個(gè)字符串的那種,想著就沒必要gzip壓縮了,請(qǐng)問是否能夠在傳輸小文本的時(shí)候,動(dòng)態(tài)改變這個(gè)$connection->websocketType,變?yōu)槟J(rèn)的UTF8字符串傳輸呢?傳輸大文本如幾十KB那種,再通過gzip壓縮,動(dòng)態(tài)設(shè)置為BINARY_TYPE_ARRAYBUFFER
另外如果可以動(dòng)態(tài)改變的話,請(qǐng)問如何操作,使得H5頁面js,能夠做到這種通訊呢?
還請(qǐng)各位高手能夠指點(diǎn)一下,謝謝~

4121 3 0
3個(gè)回答

phpcreeper

開兩個(gè)不同的gateway,分別監(jiān)聽不同的端口,即對(duì)應(yīng)了不同的 $connection->websocketType.

  • 暫無評(píng)論
superchangme

BINARY_TYPE_ARRAYBUFFER本身也是可以傳輸json的
你在web客戶端轉(zhuǎn)一下就可以
var dataStrJson = String.fromCharCode.apply(null, new Uint8Array(e.data));
var data = JSON.parse(dataStrJson);

  • 暫無評(píng)論

怎么解析服務(wù)器端發(fā)送的過來的數(shù)據(jù)呢? Binary Frame (Opcode 2)

年代過于久遠(yuǎn),無法發(fā)表回答
??