#Socket Server
function listen-port ($port= 7788) {
$SEND_SMS = "0000"
$endpoint = new-object System.Net.IPEndPoint ([ system.net.ipaddress]::any , $port )
$listener = new-object System.Net.Sockets.TcpListener $endpoint
$listener.start()
$isRunning = $true
while ($isRunning )
{
$client = $listener. AcceptTcpClient() # will block here until connection
$stream = $client. GetStream();
$reader = New-Object System.IO.StreamReader $stream
#$command = $reader.readLine().Substring(0, 4);
$command = $reader. readLine() -split "//"
$command.Length
#$command = $reader.readLine()
if ($command -eq $SEND_SMS)
{
sendSMS -serverIP $command[ 2] -phoneArray $command [1]
}
else
{
write-host $command -fore cyan
}
if($command [0] -eq "EXIT")
{
$isRunning = $false
$reader.Dispose()
$stream.Dispose()
$client.Dispose()
$listener.stop()
}
}
<#
$reader.Dispose()
$stream.Dispose()
$client.Dispose()
$listener.stop()
#>
}
function sendSMS ($serverIP, $phoneArray)
{
$targetArray = $phoneArray -split ","
foreach($phone in $targetArray)
{
Write-Host "SMS SEND" $phone "`t`t" $serverIP
}
}
listen-port
#client code
<#
function send-msg ($message=$([char]4), $port=7788, $server="10.100.37.79") {
$client = New-Object System.Net.Sockets.TcpClient $server, $port
$stream = $client.GetStream()
$writer = New-Object System.IO.StreamWriter $stream
$writer.Write($message)
$writer.Dispose()
$stream.Dispose()
$client.Dispose()
}
#>