Функция UDPBind

         Описание функции


UDPBind

Создаёт сокет, связанный с входящим соединением.

UDPBind ( IPAddr, port )

Параметры

IPAddr IP-адрес, например "192.162.1.1" (десятично-точечное представление, IpV4).
port Порт, с которым созданный сокет будет связан.

Возвращаемое значение

Успех:Возвращает массив : $array[1] содержит реальный сокет, $array[2] содержит указанный IP-адрес и $array[3] содержит порт. Эта информация необходима при последующих вызовах UDPSend(), где передаётся этот сокет в виде структуры/массива.
Ошибка:Устанавливает @error
@error:1 Неверный IP-адрес.
2 Неверный порт.
Возвращает значения windows API WSAGetError (смотрите MSDN).

См. также

UDPRecv, UDPOpen, UDPCloseSocket, UDPSend

Пример

Example()

Func Example()
    UDPStartup() ; Запуск UDP служб.

    ; Регистрация функции OnAutoItExit для остановки служб при завершении скрипта.
    OnAutoItExitRegister("OnAutoItExit")

    ; Установка IP-адреса и порта
    Local $sIPAddress = "127.0.0.1" ; Этот IP-адрес работает только для теста на вашем компьютере.
    Local $iPort = 65432 ; Порт, используемый для соединения.

    ; Создает сокет связанный с указанным IP-адресом и портом
    Local $aSocket = UDPBind($sIPAddress, $iPort)

    If @error Then ; Если ошибка, то выход
        ; Кто-то возможно уже связан с этим IP-адресом и портом (ещё одна копия скрипта уже выполняется?).
        Local $iError = @error
        MsgBox(4096 + 16, "", "Не удалось связать, @error = " & $iError)
        Return False
    Else
        MsgBox(4096, "", "Успешная связь")
    EndIf

    ; Закрывает прослушиваемый сокет, чтобы позволить соединение в дальнейшем.
    ; Пока сокет не закрыт, любая другая программа не может связаться с этим же IP-адресом и портом.
    UDPCloseSocket($aSocket)
EndFunc   ;==>Example

Func OnAutoItExit()
    UDPShutdown() ; Останавливает UDP службу.
EndFunc   ;==>OnAutoItExit