#include <GUIConstantsEx.au3>
Example()
Func Example()
UDPStartup()
OnAutoItExitRegister("OnAutoItExit")
Local $sIPAddress = "127.0.0.1"
Local $iPort = 65432
#region GUI
Local $hGUI = GUICreate("UDPSend", 150, 85)
Local $iBtnServer = GUICtrlCreateButton("1. Запуск сервера", 10, 10, 130, 27)
Local $iBtnClient = GUICtrlCreateButton("2. Запуск клиента", 10, 45, 130, 27)
GUISetState(@SW_SHOW, $hGUI)
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
Case $iBtnClient
GUISetState(@SW_DISABLE, $hGUI)
_UDPSend_Client($sIPAddress, $iPort)
GUISetState(@SW_ENABLE, $hGUI)
Case $iBtnServer
GUISetState(@SW_DISABLE, $hGUI)
_UDPSend_Server($sIPAddress, $iPort)
GUISetState(@SW_ENABLE, $hGUI)
EndSwitch
Sleep(10)
WEnd
GUIDelete($hGUI)
#endregion GUI
EndFunc
Func _UDPSend_Client($sIPAddress, $iPort)
Local $iError = @error
Local $aSocket = UDPOpen($sIPAddress, $iPort)
If @error Then
MsgBox(4096 + 16, "", "Клиент:" & @LF & "Не удалось подключиться, @error = " & @error)
Return False
EndIf
UDPSend($aSocket, "tata")
If @error Then
MsgBox(4096 + 16, "", "Клиент:" & @LF & "Не удалось выслать данные, @error = " & @error)
Return False
EndIf
UDPCloseSocket($aSocket)
EndFunc
Func _UDPSend_Server($sIPAddress, $iPort)
Local $aSocket = UDPBind($sIPAddress, $iPort)
If @error Then
MsgBox(4096 + 16, "", "Сервер:" & @LF & "Не удалось связать, @error = " & @error)
Return False
EndIf
Local $sReceived
Do
$sReceived = UDPRecv($aSocket, 4)
Until $sReceived <> ""
MsgBox(4096, "", "Сервер:" & @LF & "Получено: " & $sReceived)
UDPCloseSocket($aSocket)
EndFunc
Func OnAutoItExit()
UDPShutdown()
EndFunc