//how to initialize byte[10240] in php
var svr = new TcpClient();
svr.Connect(127.0.0.1, 8081);
var ns = svr.GetStream();
var outputBuffer = new byte[10240];
var pkgLen = 11
ns.Write(outputBuffer, 0, pkgLen);
我有上面的C#代码,我试图将代码转换为PHP . 这是我的PHP代码:
<?php
/* Create a TCP/IP socket. */
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$message = //empty array of byte
socket_send($socket, $message);
socket_close($socket)
?>
我的问题是如何在php中创建一个长度为10240的空字节数组? Also the socket_send function takes a string not an array.
2 回答
您需要生成一个包含零字节的字符串,然后您需要基本上将其相乘 .
你也可以使用
str_pad
:什么协议要求你写10240空字节?
无论如何,您调用的
Write()
重载只会写入该数组的前11个(pkgLen
)个字节 . 所以你需要写11个零 .你可以做硬编码: