Winsock getdata senddata

  • VB6

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von Marcus Gräfe.

    Winsock getdata senddata

    Hi habe da ein krasses Problem bei meiner Anwendung. Ich arbeite gerade einem Textbased Datenbanksystem das mittels Winsock verbunden ist mit der Serveranwendung. Von meinem Server kommen die Daten per Senddata Anweisung etwas so:

    *##192.168.100.12##DATA##Firmen##1051##11;FERAG GmbH;;Förder- u. Verarbeitungstechnik, Druckbranche;Otto-Volger-Straße;33;65843;Sulzbach;06196;70390;;703989;info@
    ferag-deutschland.com;www.feraf-deutschland.com;;;;;;;;;;;;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;##Frau;List;;;Personalwesen;;;;;;;;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;

    Das heisst mir wird der Rest abgeschnitten. Die Variable die die daten übergibt ist ein String, die die es Empfängt auch. Kann es sein das Winsock hier eine Grenze für die Länge des zusendenen Strings vorgibt ????? Wenn ja wo liegt die und wenn nein wie bekomme ich auch den Rest zum Clienten ???

    Wäre für gute Tips dankbar !

    Armin


    Wie du in diesem Thread (-> vb-paradise.de/index.php?page=Thread&threadID=1439) hättest nachlesen können, liegt die Grenze bei knapp 8200 Bytes pro Winsock-Packet (also pro Sendevorgang). Ich weiß nicht, ob du da drüber bist (8200 Zeichen), ich wollte jetzt nicht nachzählen.

    Falls du aber deutlich weniger als 8200 Zeichen sendest, so muss es an was anderem liegen. Vielleicht empfängst du an einer bestimmten Stelle ein Zeichen, welches VB dazu bewegt, das ganze abzubrechen.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Den habe ich gelesen, bin aber wie gesagt nie bis zu 8000 ebbes Bytes gekommen. Entweder liegt es an der Rückgabe der Listbox oder es liegt an Winsock. Mit dem String zerhacken wäre eine Möglickkeit.
    Hat denn keiner ne kleine Routine die mich in die Lage versetzt einen String zu Packen ???

    Armin

    Habe eben ein paar Tests mit Comboliste und Listbox gemacht. Ich denke das ist das Problem die Einträge der Listbox und Combobox können Maximal 1024 Zeichen lang sein.

    Jetzt habe ich ein echtes Problem. Die Listbox oder Combobox zu ersetzen. Habe testweise mal Probiert mit einem Stack zu arbeiten aber dabei stellt sich schon mal das wichtigste aller Probleme mit dem Stack, ich kann einen Stack nicht als Globale Variable deklarieren. Da aber verschiedene Prozeduren darauf zugreifen müssen ist es unumgänglich Listboxen zu nehmen.

    Weis da jemand einen Rat für mich? Wie kann ich die Listboxen dazu bringen mehr als 1024 Zeichen zu fressen, oder wie kann ich diese ersetzen ?

    Armin
    Muss die Liste denn sichtbar sein? Wenn nicht, dann kannst du wie Unknown schon sagte ein (String-) Array nehmen. Oder auch eine Collection, wobei ich nicht weiß, wieviele Zeichen da in ein einzelnes Element passen.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Also habe mir aus dem Netz eine scheiss Shareware Liste als Komponente besorgt die heisst xlist. Mit dem Klappt alles wunnerbar, keine Fehlenden Reste und son Zeugs. Dieses Ding kostet aber was und die Features von dem Ding sind cool aber ich brauche nur eins mehr als 1 KB Pro Eintrag. Dafür ist mir das Geld zu schade. Wäre geil wenn einer von Euch ne Listbox hätte die nix anneres als bis zu 32 KB oder 63 KB pro Eintrag unterstützt.

    Gruss Armin

    Achso ne die Liste muss natürlich net sichtbar sein. Aber mit Stacks hat des nicht geklappt.
    Hast du es denn schonmal mit einer Collection versucht? Das ist genau wie eine ListBox, nur nicht sichtbar.

    Dim c As New Collection

    c.[...]

    Ansonsten musst du dir halt so eine Komponente selber schreiben (ein ActiveX).
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum