Hi,
ich denke/hoffe, das entspricht deinen Ansprüchen.
Für die Aufruf-Konventionen einfach ohne Parameter starten, dann bekommst du eine Erklärung.
Ansonsten gilt: Nur die EXE wird für Lesen funktionieren, da die AU3 keine Ausgabe in der Konsole erzeugt.
Spoiler anzeigen
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Change2CUI=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
;chesstiger @ autoit.de Nov '13
[/autoit] [autoit][/autoit] [autoit]If $CMDLine[0] = 0 Then
MsgBox(64, "Aufruf-Syntax", @ScriptName & " <IP> <Port> [set|get] <Nummer|all> <Status>" & @CRLF & @CRLF & "Beispiel: " & @ScriptName & " 192.168.0.42 1234 set all 0" & @CRLF & "Alle Ausgänge ausschalten.")
Exit
EndIf
Global Enum $_IP = 1, $_PORT, $_DIRECTION, $_NUMBER, $_STATE
[/autoit] [autoit][/autoit] [autoit];Parameter verarbeiten
Local $sAddress = $CMDLine[$_IP]
Local $iPort = $CMDLine[$_PORT]
Local $sDirection
Local $iNumber
Local $iState
Local $sEqual
Switch $CMDLine[$_DIRECTION]
Case "set"
$sDirection = "sAusgang"
$iState = $CMDLine[$_STATE]
$sEqual = "="
Case "get"
$sDirection = "gEingang"
$sEqual = ""
$iState = ""
Case Else
MsgBox(16, "Mode-Fehler", "Unbekannter Modus: " & $CMDLine[$_DIRECTION])
EndSwitch
If $CMDLine[$_NUMBER] = "all" Then
$iNumber = ""
Else
$iNumber = $CMDLine[$_NUMBER]
EndIf
TCPStartup()
[/autoit] [autoit][/autoit] [autoit]$hSocket = TCPConnect($sAddress, $iPort)
If @error Then
ConsoleWrite("TCPConnect: Fehler beim Aufbau der Verbindung: WSA-" & @error & @CRLF)
Exit
EndIf
$sQuery = $sDirection & $iNumber & $sEqual & $iState
[/autoit] [autoit][/autoit] [autoit]TCPSend($hSocket, $sQuery)
If @error Then
ConsoleWrite("TCPSend: Fehler beim Senden: WSA-" & @error & @CRLF)
Exit
EndIf
If $sEqual = "=" Then
Local $sRecv = ""
Do
$sRecv &= TCPRecv($hSocket, 4096)
Until @error
ConsoleWrite($sRecv)
EndIf
TCPCloseSocket($hSocket)
TCPShutdown()
(Das ganze basiert logischerweise auf deinen Angaben, daher garantiere ich nicht, dass es reibungslos funktioniert - Wenn was nicht passt, sag bescheid. ^^)
lg