Funktionreferenz


UDPBind

Beschreibung anzeigen in

Erzeugt einen "Socket", gebunden an eine eingehende Verbindung.

UDPBind ( IPAddr, port )

Parameter

IPAddr Internet Protokoll "dotted" Adresse (IpV4) wie "192.162.1.1".
port Port an den der erzeugte "Socket" gebunden werden soll.

Rückgabewert

Erfolg: Ein Array: $aArray[1] enthält den "real Socket", $aArray[2] enthält die festgelegte IP-Adresse und $array[3] enthält den Port. Man benötigt diese Information in nachfolgenden Aufrufen für UDPRecv(), für die man diese "Socket"-Struktur/Array übergeben muss.
Fehler: Setzt das @error Flag auf ungleich null.
@error: 1 - IP-Adresse falsch.
2 - Port falsch.
Windows API WSAGetLastError Rückgabewerte (siehe MSDN).

Verwandte Funktionen

UDPCloseSocket, UDPOpen, UDPRecv, UDPSend

Beispiel

#include <MsgBoxConstants.au3>

Example()

Func Example()
    UDPStartup() ; Startet den UDP Service.

    ; Registriert OnAutoItExit um es aufzurufen, wenn das Script beendet wird.
    OnAutoItExitRegister("OnAutoItExit")

    ; Weist lokalen Variablen die loopback IP-Adresse (localhost) und den Port zu.
    Local $sIPAddress = "127.0.0.1" ; Diese IP-Adresse funktioniert nur am eigenen Computer.
    Local $iPort = 65532 ; Port welcher für die Verbindung verwendet wird.

    ; Weist einer lokalen Variable den Socket zu und bindet das Script an die gegebene IP-Adresse und Port.
    Local $aSocket = UDPBind($sIPAddress, $iPort)

    ; Wenn ein Fehler aufgetaucht ist, so wird dieser angezeigt und False zurückgegeben.
    If @error Then
        ; Vielleicht lauscht bereits jemand auf dieser IP-Adresse und dem Port (läuft das Script bereits?).
        Local $iError = @error
        MsgBox(($MB_ICONERROR + $MB_SYSTEMMODAL), "", "Konnte nicht lauschen, Error Code: " & $iError)
        Return False
    Else
        MsgBox($MB_SYSTEMMODAL, "", "Lauschen erfolgreich.")
    EndIf

    ; Schließt den gebundenen Socket damit er von anderen Anwendungen gebunden werden kann.
    ; Solange dieser Socket nicht geschlossen ist kann er nicht von einem anderen Programm mit der selben IP-Adresse und Port gebunden werden.
    UDPCloseSocket($aSocket)
EndFunc   ;==>Example

Func OnAutoItExit()
    UDPShutdown() ; Schließt den UDP Service.
EndFunc   ;==>OnAutoItExit