0

我如何在 php 中打包一个对象并通过 udp 发送它?我有一个具有 6 个属性的数据包类:

/** @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> 

为什么 200000000 没有打印出来?我该如何修复代码?

谢谢。

4

1 回答 1

0
我发现了我的错误:

解压缩的数据存储在关联数组中。为此,您必须命名不同的格式代码并用斜杠 / 分隔它们。如果存在转发器参数,则每个数组键都将在给定名称后面有一个序列号。

于 2013-10-29T11:25:39.377 回答