Passa al contenuto principale

Esempi di codice

Python

# Tecnoteam (SC) 2022.07.15
#
# Ver 1.0.1.1 - 2022.07.15
#    First version based on Ethernet_Specola 1.0.1
# 

import socket

HOST = "192.168.250.1"  # The server's hostname or IP address - Omron default IP: 192.168.250.1
PORT = 9630             # The port used by the server - Tecnoteam default port: 9630

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    print(f"Connecting to {HOST} on port {PORT} ... ", end="")
    s.connect((HOST, PORT))
    print("OK")
    while True:
        value = input("Insert string to send ('quit' to exit): ")
        if value == "quit" or len(value) == 0:
            break
        s.send(str.encode(value))
        data = s.recv(1024).decode("utf-8")
        data = data.replace(b'\x06'.decode("utf-8"), '[ACK]').replace(b'\x15'.decode("utf-8"), '[NAK]')
        print(f"Received: {data}")

Powershell 5.1

# Tecnoteam Stefano Cadenazzi 2022.07.14
#
# Ver 1.0.1.1 - 2022.07.14
#    First version based on Ethernet_Specola 1.0.1

param( [string] $remoteHost = "192.168.250.1", [int] $port = 9630 )   

try
{
	Write-Host "Connecting to $remoteHost on port $port ... " -NoNewLine
	try
	{
		$socket = New-Object System.Net.Sockets.TcpClient( $remoteHost, $port )
		Write-Host -ForegroundColor Green "OK"
	}
	catch
	{
		Write-Host -ForegroundColor Red "failed"
		exit -1
	}
    $ack = [char] 0x06
    $nak = [char] 0x15
	$stream = $socket.GetStream( )
	$writer = New-Object System.IO.StreamWriter( $stream )
	$buffer = New-Object System.Byte[] 1024
	$encoding = New-Object System.Text.AsciiEncoding

	while( $socket.Connected )
	{
		start-sleep -m 500
        while( $stream.DataAvailable )
		{
			$read = $stream.Read( $buffer, 0, 1024 )
            Write-Host -NoNewline "Received: "
			Write-Host -ForegroundColor Yellow ((($encoding.GetString( $buffer, 0, $read )) -replace $ack , "[ACK]") -replace $nak , "[NAK]" )
		}
        Write-Host -NoNewline "Insert string to send ('quit' to exit): "
        $command = Read-Host
        if ($command -eq "quit") {
            break
        }
		$writer.Write( $command )
		$writer.Flush( )
	}
}
finally
{
	if( $writer ) {	$writer.Close( )	}
	if( $stream ) {	$stream.Close( )	}
}