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

@walkor 大大 workerman中的傳輸協(xié)議可以使用protobuffer嗎

var

如果可以的話,客戶端websocket那里接受到返回?cái)?shù)據(jù),如何來解析序列化的數(shù)據(jù)呢

6738 8 0
8個(gè)回答

walkor 打賞

workerman可以用protobuffer,客戶端如何解析protobuffer這個(gè)要看什么客戶端,一般去protobuffer主頁下載個(gè)對(duì)應(yīng)的庫就行了。

另外既然用websocket協(xié)議了,就沒必要用protobuffer了,不知道你在websocket協(xié)議上傳輸protobuffer的初衷是什么?

  • var 2015-11-16

    哦哦 剛接觸到protobuffer 說是比較省空間,效率高,就想著那個(gè)workerman的聊天的應(yīng)用用protobuf來傳輸數(shù)據(jù)

ricky

protobuf的序列化和反序列化不錯(cuò)啊。在websocket上難道不需要用這個(gè)嗎?

  • 暫無評(píng)論
walkor 打賞

在websocket上傳輸json更通用一些,調(diào)試也更方便一些。

  • 暫無評(píng)論
qq646827911

用protocol buffer ?跟快啊,所以想在wm使用

  • walkor 2019-02-16

    快0.00001秒沒有什么太大意義。另外最好壓測(cè)下php的json 和 protobuffer到底哪個(gè)快,php下還真不一定protocol buffer比json快。

  • walkor 2019-02-16

    下面有腳本,先壓測(cè)下到底快多少,再用也不遲。

walkor 打賞
<?php
$count = 1000000;
$data = ;

$time_start = microtime(true);

for ($i=$count; $i>0; $i--) {
    $json = json_encode($data);
    $tmp = json_decode($json);
}

echo ceil($count/(microtime(true)-$time_start)), "/S\n";

我的筆記本上執(zhí)行結(jié)果為?1125994/S,也就是執(zhí)行一次?json_encode+json_decode 大概耗時(shí)0.0000009秒,這個(gè)速度大多數(shù)情況下足夠用了,從速度上講沒必要過度優(yōu)化。
如果有興趣可以壓測(cè)下protocol buffer看下速度有多快,歡迎將對(duì)比結(jié)果貼在下面。

  • 暫無評(píng)論
國慶七天樂
<?php
require_once __DIR__ . '/vendor/autoload.php';

$count = 1000000;
$data = ;

$time_start = microtime(true);
$test = new \Protocols\Test();

$encode = function ($data) use ($test)
{
    $test->setData($data);
    return $test->serializeToString();
};

$decode = function ($bin_data) use ($test)
{
    $test->mergeFromString($bin_data);
    return $test->getData();
};

for ($i=$count; $i>0; $i--) {
        $bin_data = $encode($data);
            $tmp = $decode($bin_data);
}

echo ceil($count/(microtime(true)-$time_start)), "/S\n";?
ubuntu@DESKTOP-Q7K4DU0 ~/Desktop/myFirstGame $ protoc --version? ? ?
libprotoc 3.6.0
ubuntu@DESKTOP-Q7K4DU0 ~/Desktop/myFirstGame $ php test_protobuf.php
626678/S
ubuntu@DESKTOP-Q7K4DU0 ~/Desktop/myFirstGame $?

protobuf居然慢了這么多,不科學(xué)呀,可能使用姿勢(shì)不對(duì)

  • six 2019-03-22

    請(qǐng)問,你的這臺(tái)機(jī)器 json_encode json_decode多少?

  • 國慶七天樂 2019-03-22

    @1393:ubuntu@DESKTOP-Q7K4DU0 ~/Desktop/myFirstGame $ php test_json.php
    1535519/S

walkor 打賞

這么看來php下protobuf不一定比json快

  • 暫無評(píng)論
wsc218

如果是客戶端js傳輸protobuffer 二進(jìn)制流數(shù)據(jù)的話,workerman中websocket協(xié)議下如何接收呢?官方的例子是$connection->websocketType = Websocket::BINARY_TYPE_ARRAYBUFFER,打印結(jié)果部分顯示,但是數(shù)據(jù)流原樣返回,客戶端js解析后卻是空的,若主動(dòng)推二進(jìn)制流數(shù)據(jù)給客戶端能解析出數(shù)據(jù)來,這說明數(shù)據(jù)在接收時(shí)就不完整了,如何能獲得完整的二進(jìn)制流數(shù)據(jù)呢

  • walkor 2019-08-30

    新問題請(qǐng)發(fā)新的帖子。配合上詳細(xì)的代碼和結(jié)果截圖,不然無法定位

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