Это код для скрипта PowerShell, который предназначен для получения файла кусками с сервера python.
$chunkSize = {chunkSize}
$chunk= New-Object Byte[] $chunkSize
while($bytes -gt 0)
{
if($bytes -ge $chunkSize)
{
$buf = $chunkSize
}
else
{
$buf = $bytes
}
$chunk= New-Object Byte[] $buf
[void]$s.Read($chunk, 0, $buf)
$file += $chunk
$bytes -= $buf
}
set-content -value $file -encoding byte -path "$env:temp\\{filename}"
rv file;rv bytes;rv buf;rv chunkSize;rv chunk
Как видите, я поставил [void]
перед прочитанное заявление, которое значительно сократило время получения. Однако процесс приема все еще очень медленный в 1024 байтовых кусках. В моих проектах на основе сокетов C# мои файлы отправлялись бы без особых усилий с минимальной задержкой.
Однако с PowerShell это происходит вечно, даже после подавления вывода метода Read
.
Есть ли что-то, чего мне не хватает в моем скрипте PowerShell, что замедляет работу?
Спасибо за вашу помощь!