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

PHP與其他語(yǔ)言通信(如c++),如何自定義協(xié)議?

七小

以socket的方式發(fā)送json格式的數(shù)據(jù)包,詳細(xì)的數(shù)據(jù)包構(gòu)造如下


       包結(jié)構(gòu):
        ---------------------------------------------------------
        |   字段   |     字節(jié)數(shù)    |   說(shuō)明                     |
        ---------------------------------------------------------
        |   包頭   | 定長(zhǎng)(12字節(jié))| 每個(gè)通信消息必須包含的內(nèi)容 |
        ---------------------------------------------------------
        |   包體   | 不定長(zhǎng)        | 根據(jù)消息的不同而變化       |
        ---------------------------------------------------------

        包頭結(jié)構(gòu):
        ------------------------------------------------
        |     字段      | 字節(jié)數(shù) | 類型  |  說(shuō)明       |
        ------------------------------------------------
        |   total_len   |    2   | short |整個(gè)包的長(zhǎng)度 |
        ------------------------------------------------
        |   type_num    |    2   | short |協(xié)議號(hào)       |
        ------------------------------------------------
        |   net_id      |    4   | int   |網(wǎng)絡(luò)號(hào)       |
        ------------------------------------------------
        |   player_id   |    4   | int   |玩家ID       |
        ------------------------------------------------

        包體:
        ------------------------------------------------
        |   data        |   未知  | char |通信消息     |
        ------------------------------------------------
5452 2 0
2個(gè)回答

walkor 打賞

// === 包體 ===
$body = json_encode(array(.....));

// === 包頭 ===
// 整個(gè)包長(zhǎng)(算頭部12字節(jié))
$total_len = 12 + strlen($body);
// 包頭
$head = pack('S', $total_len).pack('S', $版本號(hào)).pack('N', $網(wǎng)絡(luò)號(hào)).pack('N', $玩家ID);

// ===整個(gè)包====
$package = $head.$body;

  • 暫無(wú)評(píng)論
1171659744_php

大佬請(qǐng)問(wèn)Java那邊和上面一樣加的一個(gè)標(biāo)識(shí)ID 2個(gè)字節(jié)的 那邊發(fā)二進(jìn)制給我 我這邊應(yīng)該如何解析呢 我使用unpack('S')解析出來(lái)的是0

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