后端代碼:
<?php
$worker = new Worker('tcp://0.0.0.0:12000');
$worker->onMessage = function ($connection, $message) {
var_dump($message);
// 輸出Vv29705370U{"cmd":"cmd_client_query_room_req","node_id":3149840,"third_party_id":2772311495771}
}
實際客服端發(fā)送的是二進制數(shù)據(jù):
56760000 00000000 00000000 00323937 30353337 30000000 00000000 00550000 007b2263 6d64223a 22636d64 5f636c69 656e745f 71756572 795f726f 6f6d5f72 6571222c 226e6f64 655f6964 223a3331 34393834 302c2274 68697264 5f706172 74795f69 64223a32 37373233 31313439 35373731 7d00
這是一個特定格式的二進制,不同位數(shù)和長度需要按規(guī)則解析,但是 worker 獲取到的 $message 是把 00 按空字符解析后的字符串,因此無法再按規(guī)則解析。請問如何才能獲取到最原始的數(shù)據(jù)呢?