Exakt gleiches Problem
0'er werden geschnitten
Exakt gleiches Problem
0'er werden geschnitten
wo denn geschnitten? vorm senden?
ALLE
Aus dem String wird dann wie am Anfang : VERSION0
Und so?
[autoit]Func _InsertNULL($_sText)
Local $_sRet
Local $_aSS = StringSplit($_sText, "")
For $i = 1 To $_aSS[0]
$_sRet &= $_aSS[$i] & Chr(0)
Next
Return StringToBinary($_sRet)
EndFunc
Kannst du mal dein Script zeigen?
$connect = TCPConnect($ip,860)
TCPSend($connect,_InsertNULL("VERSiON0")
Func _InsertNULL($_sText)
Local $_sRet
Local $_aSS = StringSplit($_sText, "")
For $i = 1 To $_aSS[0]
$_sRet &= $_aSS[$i] & Chr(0)
Next
Return StringToBinary($_sRet)
EndFunc
Da fehlt aber was.
Musst du vielleicht am Ende noch ein CRLF senden? oder ETX bzw am Anfang STX?
Hast du das ganze mal im Wireshark beobachtet?
Nein muss nicht
Und Wireshark?
Steht irgendwie immer nur der Reine Text
Ist der Server top secret oder kann man das mal selber testen?
Also wenn ich das an Google sende, sehe ich in Wireshark, dass es richtig übertragen wird.
Hmm komisch
Ich probiers gleich nochmal
An welchen Port sendest bei Google?
Einfach an 80.
Mann, ihr gebt ganz schön Gas mit Antworten
ZitatMit dem langen Hex gehts wieoben jemand geschrieben hat nicht wegen des parsing Fehlers
Ich habe mich doch korrigiert. Also so sollte es schon gehen:
TCPSend($Socket, Binary("0x560045005200530069004f004e003000"))
[/autoit]
Wenn das Ganze variabel bleiben soll, funktioniert es natürlich nicht mehr. Dann würde ich m-obi's Variante nehmen.
Also das hier ist meine Lösung. So richtig schön ist die nicht, aber es funktioniert Ich hatte schonmal dasselbe Problem...
MsgBox(0, "hi", "warten...") ;diese MessageBox dient dazu, damit man Zeit hat WPE Pro einzuhängen
TCPStartup()
$socket = TCPConnect("173.194.69.94", 80) ;zu google connecten (HTTP-Port)
If @error Then MsgBox(0, "hi", "Fehler Nr. " & @error & " @ ws2_32.connect")
SendNull($socket)
TCPCloseSocket($socket)
TCPShutdown()
Func SendNull($socket)
$nullByte = DllStructCreate("byte") ;ein Byte reservieren
DllStructSetData($nullByte, 1, 0) ;das Byte mit Null belegen
DllCall("Ws2_32.dll", "int", "send", "int", $socket, "ptr", DllStructGetPtr($nullByte), "int", 1, "int", 0) ;die null direkt über den puffer senden
If @error Then MsgBox(0, "hi", "Fehler Nr. " & @error & " @ ws2_32.send") ;standardfehlerbehandlung
EndFunc ;===>siehe für weitere Infos http://bug-fix.info/dll/dll_tut.html (sehr nice)
Zu Goggle funktioniert ja meins. Nur halt nicht zu dem Server bei Aldi (nur Lidl).
ok NUll senden läuft dank m-obi
uuhh...woran lags?
Ich weiß es nicht iwie klappts auf einmal
[autoit]TCPStartup()
$connect = TCPConnect("173.194.69.94",80)
TCPSend($connect,_InsertNULL("VERSiON0"))
Func _InsertNULL($_sText)
Local $_sRet
Local $_aSS = StringSplit($_sText, "")
For $i = 1 To $_aSS[0]
$_sRet &= $_aSS[$i] & Chr(0)
Next
Return StringToBinary($_sRet)
EndFunc
Vergess aber nicht
TCPCloseSocket()
TCPShutdown()