通过http从php到AS3的二进制数据损坏


Binary data corrupted from php to AS3 via http

我试图通过HTTP从PHP服务器检索使用AS3的二进制数据,但经常(~50%)几个字节到达损坏。


PHP代码片段:

header('Content-Type:binary/octet-stream;');
echo $this->page;

AS3代码片段:

var resp:int=data.readByte();
var user_id:uint=data.readUnsignedInt();
var anon_id:uint=data.readUnsignedInt();
var token:ByteArray=new ByteArray();
data.readBytes(token,0,16);

示例,发送的数据在第一行,接收的数据在第二行(为便于阅读添加空格):

01000000110000000095cb4bca40fb d0bb ab7bdd15b3e973c7
01000000110000000095cb4bca40fb 3b   ab7bdd15b3e973c7
010000001200000000bb5c4c55af caa9e9afd6 a7f550748b61
010000001200000000bb5c4c55af a9e9af     a7f550748b61
010000001400000000e191ffbc222d239debe 8d69 0d93b7ca4
010000001400000000e191ffbc222d239debe 89   0d93b7ca4
0100000017000000002e1b75 db89 8a1a cd86 f05a8bf07c592b
0100000017000000002e1b75 c9   8a1a 46   f05a8bf07c592b
010000001a00000000b4d72a3a8cd b944 5d0559072d8d16583
010000001a00000000b4d72a3a8cd 44   5d0559072d8d16583
010000001e000000007 bc8a 377bd9feab432260d43db4a42ab
010000001e000000007 b2   377bd9feab432260d43db4a42ab

虽然我仍然不知道发生了什么,但我躲过了以纯/文本传输十六进制编码数据的问题。

没有显示足够的代码。但是,您可能会因无意中将二进制数据的字符编码视为文本而受到影响。