Winsock

  • VB6

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Gast.

    Hallo!
    ich hab da mal 2 fragen zum thema Winsock.
    1. Kann ich mit hilfe von Winsock dateien versenden, wenn ja wie? falls nicht, welche möglichkeit habe ich noch um dateien über das internet zu verschicken?
    2. Wenn ich über Winsock 2 Strings verschicken möchte:
    <pre>Winscok1.SendData Inhalt1
    Winsock1.SendData Inhalt2</pre>
    kommen sie auf der anderen seite als einer an, also Inhalt2 wurde einfach an Inhalt1 "drangeklebt", warum?
    1.) Ja, das geht damit, ich würde sogar sagen, dass geht nur damit. Wie es geht kann ich dir allerdings im Moment nicht sagen, aber ich informiere mich mal.

    2.) Das ist völlig normal, anders geht es nicht. Die einzigste Möglichkeit ist, hinter jedem String ein beliebiges Zeichen zu senden (z.B: Chr$(0), bzw. vbNullChar) und dieses dann als Trennzeichen zu benutzen. Dann kann man die Daten z.B. mit der Split-Methode auseinandersplitten und hat so die einzelnen Strings. Schau mal wie ich das in meinem Programm NetPong gemacht habe (Download auf vb-paradise.de/)
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Ich habe einmal in Quick-Basic ein Prog geschrieben, was mit
    >> open ".\dateiname" for binary as #1 <<
    eine Datei kopiert. Wenn du deine Datei so einliest, dann kannst du einzelnen Zahlen mit Winsock verschicken und der Empfänger muss ebenfalls eine Datei im Binärmodus geöffnet haben, wo er ganz einfach diese Zahlen hineinschreibt.

    (Is nur so 'ne Idee, hab's noch nie ausprobiert in VB ne Binärdatei zu öffnen. Musst du halt ausprobieren.)

    Felix Kröger
    dann teil den string und verlang für jeden gesendeten string eine bestätigung, dass er angekommen ist. wenn nicht, dann weitersenden, bis er da ist, wenn ja, dann den nächsten senden. der empfänger muss diese dann zusammensetzen.

    Felix Kröger
    Wie Strings zu groß ?! Wenn ich eine Datei binär auslese und zum Speichern ein Double benutze, kommt da z.B. für ein Byte 1,063484D-321 raus, welches ich in ein String umwadeln kann, versenden und der Empfänger kann das denn wieder in ein Double umwandeln. Der Empfäger muss die Datei dann nur noch zusammensetzen. Du musst halt nur jeden Byte einzeln versenden. Bei größeren Dateien ist das eine Frage der Zeit. Du solltest dann noch eine "Anfagssignal" und ein "Endsignal" versenden. Im Anfangssignal sagst du den Dateinamen. Der Empfänger weiß dann, dass du ihm was rübersenden willst. Und im Endsignal sagst du ihm, dass du fertig bist.

    Viel Erfolg, Jue