Solved, siehe 3. Post...
Server:
[autoit]
If (IsBinary($content)) Then
If ($file_data = False) Then
$file_data = $content
Else
$file_data &= $content
EndIf
EndIf
sendResponse($sockID)
Func sendResponse($rsockID)
$rsock = _GUICtrlListView_GetItemText($gui_list, $rsockID-1)
TCPSend($rsock, "nextdata")
EndFunc
Client:
[autoit]Func sendFile($file)
$filename = _StringSplit($file, "\")
$filedata = FileRead($file)
$i = 0
$step = 1023 ; 1023 ; (1024 - 1 = 1023 * 2 = 2046 + 0x = 2048)
While 1
$data = StringMid($filedata, $i*$step+1, $step)
$i += 1
If ($data = "") Then
ExitLoop
EndIf
TCPSend($tcp, StringToBinary($data))
waitForResponse()
WEnd
TCPSend($tcp, "filewrite;;;"&$filename[UBound($filename)-1])
EndFunc
Func waitForResponse()
Do
$recv = TCPRecv($tcp,
Until $recv = "nextdata"
EndFunc
Es werden abwechselnd mal Binary Daten, mal normale Daten gesendet.
Normale stellen auch kein Problem dar, aber die Binarys schon.
Was mache ich falsch?
(Leider ist meine schöne Tab-Einrückung beim Einfügen in den Editor hier verloren gegangen... aber wenigstens poste ich nicht die vollen 500 Zeilen code. :D)