簡體   English   中英

Php字節數組包

[英]Php Byte Array Packet

我有一個ac#庫,它實際上開始在tcpip服務器上偵聽,並接受一定大小的緩沖區。

我需要以字節數組或等效形式通過套接字從php發送此數據包作為字節數組。

數據包的結構例如為byte [1](一個標志)是從0到255的數字,byte [6]到byte [11]包含字符串中的浮點數,例如:005.70,它采用6個字節表示每個字符。

我設法發送了標志,但是當我嘗試發送浮點數時,它沒有在另一端轉換(C#)。

所以我的問題是如何使用php將字節數組發送到c#?

在C#部分中,轉換的處理方式如下:

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

在我發布問題之后,我就決定了我的答案。 我不是100%肯定這是否正確,但是它可以正確轉換。

答案是:

我創建了一個字符數組,並將標志(4)轉義為實際的字節值(4),但我沒有轉義money值

$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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM