Forum: Netzwerke
Delphi
by Jens Schumann,
4. Mär 2004
Hallo,
vielen Dank.
Gutes Beispiel.
Forum: Netzwerke
Delphi
by Jens Schumann,
29. Feb 2004
Hallo,
ich glaube Du überliest geflissendlich das ich von blockierenden Verbindungen schreibe.
Genau Dein Problem lässt damit bestens lösen.
Wenn der Client nicht weiß wieviel Kontakte kommen schickt er eben jeden Kontakt einzeln ab.
Ich habe es mit meinem Testprogramm gestestet was passiert wenn der Client ständig und unmittelbar hintereinander 100 kB Text an den Server sendet. Ich glaube...
Forum: Netzwerke
Delphi
by Jens Schumann,
29. Feb 2004
Hallo AnTiPrimaTe,
ich habe gerade etwas ausprobiert. Meine Testanwendung sendet
zweimal unmittelbar hintereinander (ohne Sleep oder sowas) 100 Kb über TWinSocketStream an
den Server. Die erste Sendung wird in Memo1 und die zweite Sendung in Memo2
angezeigt. Das erreiche ich dadurch, dass ich einen CommandRecord vor
die Nutzdaten in den Stream schreibe (siehe oben).
Kein Problem - klappt...
Forum: Netzwerke
Delphi
by Jens Schumann,
29. Feb 2004
Nein muss man nicht wissen. Auch wenn anstatt 2 Frames 100 Frames ankommen.
Das ist völlig egal. Weil anschließend alles korrekt über TWinSocketStream
eingelesen wurde. Das ist auch der Grund weshalb ich hier immer und immer wieder
auf TWinSocketStream und blockierende Verbindungen hinweise.
Forum: Netzwerke
Delphi
by Jens Schumann,
28. Feb 2004
Nein - geht so nicht !!!
Wenn die vom Client gesendete Datenmenge nicht in ein Paket passt, wird die Datenmenge
aufgeteilt und mit mehreren Pakten versandt. Das führt dazu, dass das ClientRead Event
mehr als einmal feuert. Was dann in der Listbox steht kann sich ja dann denken.
Jetzt sage ich es zum letzen Mal: Blockierende Verbindungen und TWinsocketStream
Forum: Netzwerke
Delphi
by Jens Schumann,
27. Feb 2004
Hallo,
ich habe ich meinen Sourcen und meiner Erinnerung gekramt und ein
Quick&Dirty Beispiel zusammengestellt. clSendTStrings.exe (Client) sendet über eine
blockierende Verbindung und TWinSocketStream den Inhalt einer TListBox an
svSendTStrings.exe (Server). Der Server lädt damit seine TLisbox.
Forum: Netzwerke
Delphi
by Jens Schumann,
27. Feb 2004
Ich habe sowas schon mal gemacht.
Dafür habe ich TClient- und TServerSocket verwendet. Ich viele kleine Testprogramme
geschrieben, bis ich kapiert habe wie es geht. Das ist aber schon solange her,
dass ich mich in das Thema wieder einarbeiten muss um ein Beispiel zu produzieren.
Ich dachte ich mach das mal schnell.
Jetzt kann ich aber TClientSocket und TServersocket in der D7 Pro...
Forum: Netzwerke
Delphi
by Jens Schumann,
27. Feb 2004
Sag ich doch. Weil die funktionierende Beispiele immer aus sehr Codezeilen bestehen.
Forum: Netzwerke
Delphi
by Jens Schumann,
27. Feb 2004
Hallo,
ein Beispiel habe ich z.Z. nicht.
Diese Beispiele erstecken sich immer über endlos viele Codezeilen.
Dadurch sind sie immer ziemlich unverständlich.
Forum: Netzwerke
Delphi
by Jens Schumann,
27. Feb 2004
Hallo,
der Ausweg ist TWinSocketstream. Dafür musst Du eine blockierende Verbindung
verwenden. ISt sowieso besser.