我有一个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);