Php字节数组包


Php Byte Array Packet

我有一个c#库,它实际上开始监听tcpip服务器并接受一定大小的缓冲区。

我需要将此数据包作为字节数组从php通过套接字以字节数组或等效形式发送。

数据包是这样构造的,例如byte[1](标志)是一个0到255之间的数字,byte[6]到byte[11]包含一个字符串形式的浮点数,例如:005.70,每个字符占用6字节。

我设法发送标志,但当我试图发送浮点数时,它不会在另一边转换(c#)。

所以我的问题我怎么能发送一个字节数组到c#使用php?

c#部分的转换处理如下:

float.Parse(System.Text.Encoding.Default.GetString(Data, 6, 6));

就在我张贴问题之后,我已经口授了我的答案。我不是100%肯定,如果这是正确的方式,但它设法正确转换。

答案如下:

我创建了一个字符数组,并将标志(4)转义为实际字节值(4),但我没有转义货币值

$string = array (0=>"'0", 1=>"'4", 2=>"'0", 3=>"'0", 4=>"'0", 5=>"'0", 6=>"5", 7=>".", 8=>"7", 9=>"'0", 10=>"'0");

在没有胶水的情况下一起内爆:

$arrByte =  implode("", $string);

并通过打开的套接字发送:

$success = @fwrite($this->socket, $arrByte);