Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi ClientSocket sendet nichts mehr ?!? (https://www.delphipraxis.net/33733-clientsocket-sendet-nichts-mehr.html)

Zerolith 11. Nov 2004 18:17


ClientSocket sendet nichts mehr ?!?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo!

So... ich verzweifel jetzt schon seit Wochen an "meinem" ClientSocket..

Also ich habe vor eine art "protokoll" mit den TSocket Komponenten zu basteln. Vom logischen Denken fehlts mir eigtl (denke ich *G*) nicht.
Das Prinzip: Client Sendet in einem Kurzen Header was er möchte- Server Bestätigt bzw. Bereitet sich vor. entweder gibt er eine Antwort oder nimmt einfach stillschweigend Daten von einem Client entgegen.

Ein Pseudobeispiel:

Client: "Ich schicke dir jetzt einen Record des Typ "Chatnachricht"
Server: "Ah ok... Client 324 schickt mir gleich im Anschluss den REcord ...
Client "Hier bitte =)"
Server: OK - Erhalten

also: im 2 schritt stellt der server sich einfach drauf ein - schickt aber keine antwort - im 4 schritt schickt er dem Client eine bestätigung.

Klingt voll bescheuert ich weiß :-) hilft aber hoffentlich für das verständnis vom folgenden:

Also... nach obigigem Prinzip bastel ich seit einiger Zeit einen Chat (ja gibt meterweiße davon / aber ich möchte dadurch ja lernen :-) )#
Mein Client verbindet -> und schickt ähnlich dem Pseudobeispiel eine Loginanfrage - shcickt die benutzerdaten in einem Record - bekommt eine Bestätigung - der Server schickt einen Broadcast an alle dass sich der benutzetr "xy" angemeldet hat.

ihr glaubts ja nicht - das geht!!!

also nachdem der Client sich eingeloggt hat er das bedürfnis der welt seine sorgen mitzuteilen und möchte einen text schreiben.... Selbes prinzip gleiche funktionen usw. am ersten punkt wo ein "ClientSocket.Socket.Sendbuf steht" geht er durch macht die funktion fertig... Allerdings erhält der Server nie etwas... und das Ereignis "ClientSocketWrite" meldet auch nicht dass irgendetwas geschrieben wird.

Server und Client sind meines Wissens nach noch verbunden.

Daher mein Problem wie schon im Titel erwähnt. WARUM sendet mein Clientsocket nichts mehr?

Als Anhang der Quellcode :-)

So - genug von meinem geplappere -

Kann mir jemand helfen?

Danke,
Daniel

Zerolith 15. Nov 2004 08:03

Re: ClientSocket sendet nichts mehr ?!?
 
*PUSH*

ehm irgendwas unklar? Fehlen infos? Will mir bloß niemand helfen ? ;-)

alcaeus 15. Nov 2004 09:09

Re: ClientSocket sendet nichts mehr ?!?
 
Hi Zerolith,

wenn du dir mal die entsprechenden Teile der OH durchlesen würdest, dann hättest du längst schon etwas festgestellt: Delphi-Referenz durchsuchenClientSocketWrite tritt nicht ein, sobald der Server etwas zu einem Client schreibt. Ist es umgekehrt, so musst du Delphi-Referenz durchsuchenClientSocketRead verwenden.

Greetz
alcaeus

Zerolith 15. Nov 2004 09:16

Re: ClientSocket sendet nichts mehr ?!?
 
hä?

also moment - bei mir ist im moment so

Server Erhält info vom Client:

OnServerSocketClientRead

Client Erhält info vom Server

OnClientSocketRead

===============

den ClientSocketWrite fang ich ab um herauszufinden ob der Client zum Server schreibt...

oder lieg ich jetzt doch falsch?

alcaeus 15. Nov 2004 09:23

Re: ClientSocket sendet nichts mehr ?!?
 
Hi Zerolith,

ich habe in meinem Chat nur TServerSocket.OnClientRead und TClientSocket.OnRead verwendet. Mehr habe ich nicht benötigt.
Zitat:

den ClientSocketWrite fang ich ab um herauszufinden ob der Client zum Server schreibt...
:wiejetzt: Warum? Du musst ja selbst die Daten ins Socket schreiben (vom Client aus jetzt). Warum willst du da noch ein Ereignis um rauszufinden dass du den Code grade ausführst?

Greetz
alcaeus

PS: Verwende bitte mal die Ereignisnamen, und nicht die Namen der Handler so wie sie in deinem Programm stehn. Ich hatte bei ClientSocketRead erstmal an TServerSocket.OnClientRead gedacht :roll:

Zerolith 15. Nov 2004 09:27

Re: ClientSocket sendet nichts mehr ?!?
 
Zitat:

Warum willst du da noch ein Ereignis um rauszufinden dass du den Code grade ausführst?
hmm... ich weiß dass ich etwas zum Server schicke... aber es NICHT geschickt wird :-) dafür habe ich dieses ding (zum Test eingebaut) - natürlich brauche ich es nicht wenn es funktionieren würde....

Wie oben geschrieben:

Ich rufe SendBuf (oder SendStream) auf - macht die Funktion (kein Problem)... nur schickt mein ClientSocket eben nichts mehr.

(Wobei es (wie oben geschildert) zuvor ging)

Zerolith 17. Nov 2004 09:05

Re: ClientSocket sendet nichts mehr ?!?
 
dürfte ich das nochmal hochpushen? leider hat sich die Frage immer noch nicht erledigt.

Daniel


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:15 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