Hallo Leute
ich versuche seid Tagen ein PDF Dokument per TCP zu versenden ohne Erfolg könnte mir jemand helfen.
Anbei findet Ihr den Client und den Server.
#include <array.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <ComboConstants.au3>
local $sReadData
TCPStartup() ; TCP wird initialisiert
$name = TCPNameToIP ("127.0.0.1")
$Connection = TCPConnect($name, 4321)
If $Connection = -1 Then ; Wenn $socket = -1 ist, Fehlermeldung ausgeben
MsgBox(16, "Error", "Die Verbindung zum Server konnte nicht hergestellt werden!")
EndIf
$FileName = "Lipo.pdf"
$SourceFile = FileOpen("D:\TestServerClient\Lipo.pdf",16)
$FileData = FileRead($SourceFile)
$pdfsendedaten = StringToBinary($FileData)
$sReadData = $FileName & "|" & $pdfsendedaten
While 1
$r = StringLeft($sReadData, 1048576)
;MsgBox(0,"", $r)
$sReadData = StringTrimLeft($sReadData, 11048576)
TCPSend($Connection, $r)
sleep(40)
if $sReadData = "" then exitloop
WEnd
If $sReadData = 0 Then
MsgBox(16, @error, "Das Paket konnte nicht gesendet werden.")
EndIf
FileClose($SourceFile)
TCPCloseSocket($Connection)
TCPShutdown()
Exit
Server
[autoit]
#include <array.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <ComboConstants.au3>
TCPStartup() ; TCP wird initialisiert
[/autoit][autoit][/autoit][autoit]Dim $receivedArray[2]
Local $sRecvMsg, $sRecvMsgPart
Local $MainSocket = TCPListen(@IPAddress1, 4321, 100)
If $MainSocket = -1 Then MsgBox(0, "", "Socket konnet nicht aufgebaut werden")
While 1 ; Endlosschleife
Local $ConnectedSocket = TCPAccept($MainSocket)
If $ConnectedSocket >= 0 Then
While Sleep(40)
$sRecvMsg = TCPRecv($ConnectedSocket,1048576 ,1)
If $sRecvMsg <> "" Then
Do
$sRecvMsgPart = TCPRecv($ConnectedSocket ,1048576 ,1)
If @error Then FileWriteLine(@ScriptDir & "\Server.log", @error & @CRLF)
$sRecvMsg &= $sRecvMsgPart
Until $sRecvMsgPart <> ""
; verarbeitung der Daten in $sRecvMsg
EndIf
WEnd
_Filewrite()
EndIf
WEnd
Func _Filewrite()
ConsoleWrite(BinaryToString($sRecvMsg) & @LF)
$senddata = BinaryToString($sRecvMsg)
MsgBox(0,"", BinaryToString($sRecvMsg))
$sRecvMsgSplit = StringSplit($senddata, "|")
FileOpen("D:\TestServerClient\PDFTransfer" &"\" & $sRecvMsgSplit[1] ,16)
FileWrite("D:\TestServerClient\PDFTransfer" &"\" & $sRecvMsgSplit[1] , $sRecvMsgSplit[2])
FileClose($senddata)
TCPCloseSocket($ConnectedSocket)
EndFunc
Wo liegt der Fehler???
Bin ich total auf dem Holzweg ??
gruss
McBaldrian