如何在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不打印?我该如何修复代码?
THX。
答案 0 :(得分:0)
I found my mistake:
The unpacked 数据存储在关联数组中。要完成此,您必须命名 不同的格式代码并用斜杠/分隔它们。如果存在转发器参数, 那么每个数组键都会有一个给定名称后面的序列号。