我在c#中有一个代码,这里使用GetBytes(msg)为SSlStream.write,这里正确发送和接收数据,这里一切正常,现在我想在php中做同样的事件,但在这里我看不到一个SslSteam或类似的(我认为没有问题,因为我使用socket_connection,我认为SSL仅用于安全),现在用于比较我停止c#中的代码以查看发送的数据并尝试在php中转换,以便在此处发送,我可以在c#中看到数据字节{}并使用$ message = unpack(' C *',$ message);我可以将字符串转换为byte [],与c#值相比是相同的,这里一切都好,我的问题是当我尝试写请求时,因为在SslStream.write中accpet byte []但是socket_write不接受我尝试发送socket_write($ socket,' \ n',strlen($ message))我有一个错误:socket_write()期望参数2是字符串而obvius是因为socket_write()只接受字符串,但是..因为我可以发送我的byte [],因为服务器只接受一个字节[]请帮帮我
PD>我的问题是我如何发送byte [],我不知道是否可以发送eq socket_write($ socket,$ message [1],strlen($ message)),请注意字节是数组eq有70个项目等
答案 0 :(得分:1)
阅读时,请先阅读:
$message = unpack('C*',$message);
所以当写作反向时。
如果您使用的是PHP 5.6或更高版本,请使用:
$message = pack('C*', ...$message);
或者对于没有splat运算符的早期版本:
$message = call_user_func_array(
"pack",
array_merge(array("C*"), $message)
);