2013-10-20 16 views
0

如何在php中打包對象並通過udp發送它? 我有具有6個propertis分組類:如何在php中打包對象?

/** @var 32int */ 
    private $headerSize; 
    /** @var 32int */ 
    private $highSessionID; 
    /** @var 32int */ 
    private $lowSessionID; 
    /** @var array (char) */ 
    private $signature; 
    /** @var 32int */ 
    private $comandID; 
    /** @var 32int */ 
    private $dataSize; 

我嘗試,它在UDP上發送一個字符串簡單的客戶機 - 服務器應用程序,但我想發送具有不同類型的數據的目的

編輯: 我用包和序列化功能,他們是非常有幫助,但我有一個問題:

我在php.net中閱讀手冊,但我不明白如何打包不同類型的數據。 我想這:

$n = ord('a'); 
$buf = pack('IS',200000000,$n); 

$array = unpack('I/S', $buf); 
foreach ($array as $key => $value) 
    echo "\$array[$key] = ". $value ."<br>\n"; 

輸出:

$array[1] = 97<br> 

爲什麼2億不打印?我如何修復代碼?

thx。

+0

檢查http://php.net/manual/en/function.pack.php – OneOfOne

+0

利用'serialize()'http://www.php.net/manual/en/function.serialize.php –

回答

0
I found my mistake: 

The unpacked數據存儲在關聯數組中。要完成這個,您必須命名 不同格式的代碼並用斜槓/分隔它們。如果存在中繼器參數,則每個數組密鑰將在給定名稱後面具有序列號。