Scoket网络编程
Scoket-Tcp编程
Tcp-Demo.ps1
function GetOutput
{
## 创建一个缓冲区获取数据
$buffer = new-object System.Byte[] 1024
$encoding = new-object System.Text.AsciiEncoding
$outputBuffer = ""
$findMore = $false
## 从stream读取所有的数据,写到输出缓冲区
do{
start-sleep -m 1000
$findmore = $false
# 读取Timeout
$stream.ReadTimeout = 1000
do{
try {
$read = $stream.Read($buffer, 0, 1024)
if($read -gt 0){
$findmore = $true
$outputBuffer += ($encoding.GetString($buffer, 0, $read))
}
} catch { $findMore = $false; $read = 0 }
} while($read -gt 0)
} while($findmore)
$outputBuffer
}
function Main{
# 定义主机和端口
$remoteHost = "127.0.0.1"
$port = 21
# 定义连接Host与Port
$socket = new-object System.Net.Sockets.TcpClient($remoteHost, $port)
# 进行连接
$stream = $socket.GetStream()
# 获取Stream
$writer = new-object System.IO.StreamWriter $stream
# 创建IO对象
$SCRIPT:output += GetOutput
# 声明变量
if($output){
# 输出
foreach($line in $output.Split("`n"))
{
write-host $line
}
$SCRIPT:output = ""
}
}
. Main
最后更新于
