2013-01-24 18 views
1

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

如果我发送一个字符它的工作原理,所以我需要一种方式在PHP中进行转换。

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

编辑:与此相关的另一个问题是,让我们说我有4个字节的Java。我怎样才能建立一个Integer?我必须连接4个字节吗?

实施例:

字节1:00000000

字节2:00010000

字节3:00000101

字节4:00000001

结果:00000000 00010000 00000101 00000001

这是正确的吗?

回答

1

您可能想要使用unpack函数。喜欢的东西:

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

啊是啊THX这是我一直在寻找的方法,我也找到了答案,我的第二个问题:http://stackoverflow.com/questions/2383265/convert-4-bytes-to - 诠释 – maxammann