Hi,
Muss mal die Fachleute fragen. Ich sende per UDPSend einen Befehle an einen Server und warte auf Antwort. Leider kommt die Antwort in mehreren Stücke, also Schleife rein und warten. Aber egal wie ich es mache, mir gehen einzelne Stücke verloren.
Mal das Script:
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
$ip = "****"
$port = "****"
$gui = GUICreate("test", 880, 600, 0, 0)
$server_log = GUICtrlCreateEdit("", 0, 0, 880, 600, BitOR($WS_VSCROLL, $ES_MULTILINE))
GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit]srecv()
[/autoit] [autoit][/autoit] [autoit]While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
EndSelect
WEnd
Func srecv()
$time = 0
UDPStartup()
$iSocket = UDPOpen($ip, $port)
$sHeader = "ÿÿÿÿ dvarlist" & @CRLF & _
"." & @CRLF & @CRLF
UDPSend($iSocket, $sHeader)
GUICtrlSetData($server_log, "")
Do
$srecv = UDPRecv($iSocket, 1000)
If $srecv <> "" Then
$data = GUICtrlRead($server_log)
GUICtrlSetData($server_log, "" & $data & @CRLF & "NEUES PAKET" & @CRLF & $srecv)
$data = GUICtrlRead($server_log)
EndIf
$time = $time + 1
ToolTip("" & $time)
Until StringInStr($data, "total dvars") Or $time > 50
$time = 0
EndFunc ;==>srecv
Wo ist mein Fehler den ich definitiv mache? Ich komm da nicht drauf!