AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Read bei TServerSocket geht nur einmal
Thema durchsuchen
Ansicht
Themen-Optionen

Read bei TServerSocket geht nur einmal

Ein Thema von easywk · begonnen am 23. Aug 2004 · letzter Beitrag vom 11. Okt 2004
Antwort Antwort
easywk

Registriert seit: 9. Jul 2003
Ort: Schwanewede
117 Beiträge
 
Delphi 7 Enterprise
 
#1

Read bei TServerSocket geht nur einmal

  Alt 23. Aug 2004, 17:35
Hallo zusammen,

ich werde hier gleich raschelig. Möchte eine TCP-Verbindung aufbauen und haben erstmal zu Testzwecken ein kleinen Proggi gemacht. Das Serverproggi hat ein TServerSocket und wird schon zur Entwicklungszeit auf Active gesetzt. Einzige Ausführungzeile im OnClientRead:
Socket.SendText('angekommen'); Der Client hat ein TClientSocket und festen Host und festen Port. Er wird beim Programmstart geöffnet und beim Programmende geschlossen. Auf einem Button liegt das Kommando:
ClientSocket.SendText('hallo') Zusätzlich gibt es für den Client noch ein OnRead:
MessageDlg(Socket.ReceiveText,mtInformation,[mbok],0); Funktioniert genau 1x! Ich drücke den Button, bekomme die Meldung. Wenn ich den Button nochmal drücke passiert nichts mehr. Habe dann auf dem serverprogramm auf dem OnClientRead einen Breakpoint gesetzt. Beim ersten Mal nach dem Connect durch den Client kommt die Meldung beim Server an - das zweite Hallo läuft nicht mehr auf den Breakpoint.

Hat jemand eine Idee, was ich falsch mache?
cu easywk
Björn
if all else fails - read the instructions
  Mit Zitat antworten Zitat
Snoop007

Registriert seit: 15. Jan 2003
331 Beiträge
 
Delphi 6 Personal
 
#2

Re: Read bei TServerSocket geht nur einmal

  Alt 23. Aug 2004, 17:52
hi,
weise einem string mal Socket.ReceiveText zu und arbeite dann weiter mit diesem string
dann würds auch gehen
  Mit Zitat antworten Zitat
easywk

Registriert seit: 9. Jul 2003
Ort: Schwanewede
117 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Read bei TServerSocket geht nur einmal

  Alt 23. Aug 2004, 19:05
Ja, das funzt. Danke. (auch wenn ich nicht wirklich verstehe, warum ich erst diese Zusweisung machen muss).
Björn
if all else fails - read the instructions
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#4

Re: Read bei TServerSocket geht nur einmal

  Alt 23. Aug 2004, 20:19
Moin!

Daran liegt es nicht. Dein ClientSocket.SendText() sendet diesen wieder an den Server und nicht an deinen Client. Also: Du sendest nur einmal was...

Und dann ist es so, das ReceiveText nach dem Aufruf den Buffer leer macht - weil woher sollte er denn wissen wie oft er aufgerufen wird bevor er neue Daten liefern soll?

MfG
Muetze1
  Mit Zitat antworten Zitat
Kalle_XXXX

Registriert seit: 7. Okt 2004
29 Beiträge
 
#5

Re: Read bei TServerSocket geht nur einmal

  Alt 11. Okt 2004, 11:53
Ich arbeite mit idTCPServer und idTCPClient. Bei mir klappt das ganze auch nur einmal.
Muss ich dann ein CleanWriteBuffer() auf mein Thread machen?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz