将通过php套接字检索的字节转换为整数

时间:2013-01-24 21:09:21

标签: java php binary protocols text-based

我正在使用netty API创建一个Java服务器,如果客户端程序向服务器发送任何类似5的数字,它就会发送。它是一个4字节的整数。我认为它应该像在OutputStream中写一个整数一样。所以我想通过php接收整数。但是如果我调用socket_read它输出没有任何帮助,因为它不会将4个字节转换为整数。它只是用它作为文本。

如果我发送一个char它可以工作,所以我需要一种方法在PHP中转换它。

或者将所有内容转换为文本客户端是最好的,因此所有内容都是基于文本的。 我想也许我必须坚持使用基于文本或二进制的输出。

编辑:与此相关的另一个问题是,假设我在java中有4个字节。我如何构建整数?我必须连接4个字节吗?

示例:

字节1:00000000

字节2:00010000

Byte 3:00000101

Byte 4:00000001

结果:00000000 00010000 00000101 00000001

这是正确的吗?

1 个答案:

答案 0 :(得分:1)

您可能想要使用unpack功能。类似的东西:

$data = socket_read($sock,4);
$x = unpack("N",$data);