Einzelnen Beitrag anzeigen

poker1337

Registriert seit: 26. Apr 2007
8 Beiträge
 
#1

TServerSocket: Außerhalb von ClientRead senden

  Alt 4. Mai 2008, 21:08
Hallo!

Ich habe mich gerad "ein wenig" mit der TServerSocket Komponente befasst,
und bin dabei auf ein Problem gestoßen:

Ich habe einen Server und einen Client
Der Client sendet, wenn man auf einen Button drückt die Zahl "1" zum Server und der Server antwortet daraufhin mit "Socket.SendText(blabla)"

Soweit so gut, sendet der Client eine "2" soll der Server eine Prozedur starten die
sehr viele Buchstaben in eine Stringliste schreibt, dass funktioniert auch noch,
doch dann möchte ich bei JEDER 50. generierten Zeile in der Stringliste
die Daten die er bereits generiert hat an den Client zur weiteren Verarbeitung schicken,
dass löse ich wie folgt:
Delphi-Quellcode:
              if (results.Count = 50) then
                Begin
                 form1.Serversocket1.Active := true;
                   while z < 50 do
                     Begin
                      form1.ServerSocket1.Socket.SendText(results[z]);
                      z := z +1;
                     End;
Das Problem was sich hierbei ergibt ist leider für mich nicht leicht zu lösen:
"Windows Socket Fehler: Eine Anforderung zum Senden oder Empfangen von Daten wurde verhindert, da der Socket nicht verbunden istund (beim Senden über einen Datagrammsocket mit einem sendto-Aufruf) keine Adresse angegeben wurde (10057), bei API 'send'"

Weil ich denke doch das der Socket immer noch offen ist, warum kann ich dann nichts (von dort aus) schicken?
Wie kann ich also von dort aus Sachen verschicken?
oder: Wie sage ich der ServerSocket1ClienRead Prozedur, dass sie halt "form1.ServerSocket1.Socket.SendText(results[z]);"
schicken soll?


Ich habe dann noch eine Frage:
Wenn der Client, sagen wir mal, die Daten verarbeitet hat, wie teile ich dann dem Server mit das er weiter machen soll?


Vielen Dank schonmal,
poker
  Mit Zitat antworten Zitat