首页 > 解决方案 > 将 C# 代码转换为 PHP:创建空字节数组 php 并使用套接字发送

问题描述

//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 的空字节数组? socket_send 函数也接受一个字符串而不是一个数组。

标签: c#phpsockets

解决方案


您需要生成一个包含零字节的字符串,然后您需要将其相乘。

$zero = chr(0);
$message = str_repeat($zero, 10240);

你也可以使用str_pad

$message = str_pad('', 10240, chr(0));

推荐阅读