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