TCPRecv liefert komische Zeichen

  • Hallo zusammen,

    ich habe hier im Büro ein Gerät, mit dem ich regelmäßig per Telnet "reden" muss. Einiges davon möchte ich automatisieren und bin deshalb vor einiger Zeit auf AutoIt gestoßen.
    Leider stehe ich schon am Anfang auf dem Schlauch. Mit TCPRecv empfange ich nur kryptische Zeichen wie diese hier: ÿýÿý ÿý#ÿý'ÿý$.
    Kennt jemand das Problem und kann mir dabei helfen, es zu lösen?

    Viele Grüße,
    Max

  • Mit TCPRecv empfange ich nur kryptische Zeichen wie diese hier: ÿýÿý ÿý#ÿý'ÿý$.

    Naja, was steht denn zur Rückgabe von TCPRecv in der Hilfe...nicht bemühen, ich habs schon...

    Return Value

    Success: the binary/string sent by the connected socket.

    und aus der deutschen Hilfe

    Zitat von deutsche Hilfe zu TCPRecv

    Rückgabewert

    Erfolg: Gibt, gesendet vom verbundenen "Socket", binär oder String zurück.
  • Entschuldigt, ich habe vergessen zu erwähnen, dass mit BinaryToString() dasselbe rauskommt.

    Mein Beispiel ist dieses hier:

    AutoIt
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    
    
    TCPStartup ()
    $sockettarget = TCPConnect("172.31.1.241","23")
    $message=TCPRecv($sockettarget,65535)
    MsgBox (0,"bla",$message)
    $string=BinaryToString($message)
    MsgBox (0,"blaa",$string)

    Aber auch folgendes, was ich hier irgendwo aus dem Forum (weiß leider nicht mehr den genauen Thread) habe, bringt dasselbe Ergebnis:

  • Das gibt dann ohne BinaryToString() dies hier: 0xFFFD18FFFD20FFFD23FFFD27FFFD24
    Und mit BinaryToString() wieder dies: ÿýÿý ÿý#ÿý'ÿý$

    Habe dann noch mit den Flags von BinaryToString() rumgespielt. Ergebnis: nichts oder ���� ��#��'��$

  • Das könnte bereits die Lösung sein. Der Flag 1 gibt an, dass die Daten binär empfangen werden sollen.

    und wenn es dann immer noch nicht klappt: BinaryToString kann mit 4 verschiedenen Flagwerten aufgerufen werden:

  • ...ich würde den Verkehr mal mit WireShark mitlesen (in Hex) und schauen wo das Problem her kommt.

    Gruß
    Homer J. S.

    ...wenn die Donuts auch nur halb so gut schmecken wie sie aussehen, dann sehen sie doppelt so gut aus wie sie schmecken...

  • Hmmm... Kommunizierst du zufälligerweise mit einem Chinesischen Client?
    Dann könnten sich eventuell Probleme mit dem Zeichensatz ergeben. (UTF8,ANSI,...)

    Das ist eine Hardware auf der QNX läuft. Bisher gehe ich mit PuTTY drauf und habe damit keine Probleme.

    und wenn es dann immer noch nicht klappt: BinaryToString kann mit 4 verschiedenen Flagwerten aufgerufen werden:

    Vielen Dank für den Tipp, damit habe ich auch schon rumgespielt (siehe oben). Leider hat es auch nicht geklappt.


    ...ich würde den Verkehr mal mit WireShark mitlesen (in Hex) und schauen wo das Problem her kommt.

    Vielen Dank für die Idee. Ich habe es gerade installiert und gucke erstmal wie ein Schwein ins Uhrwerk. Werde mich wohl etwas intensiver mit beschäftigen müssen. Oder ich mache das Ganze doch weiterhin händisch per PuTTY.

  • Homer J. S. wenn's hier einen LikeButton gäbe würde ich in klicken. Fühl dich also geehrt und füge ein Sir oder einen sonstigen Titel (außer Kaiser, König) vor deinem Namen ein!

    Danke für die Lorbeeren :). Hoffe das war nicht ironisch gemeint?

    Maxoo: Vielleicht ist es für dich etwas einfacher das Netzwerk mit Network Monitor 3.4 zu sniffen.
    => Link: https://www.microsoft.com/en-us/download…ls.aspx?id=4865

    Gruß
    Sir Homer J. S. ;)

    ...wenn die Donuts auch nur halb so gut schmecken wie sie aussehen, dann sehen sie doppelt so gut aus wie sie schmecken...