Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#3

Re: Client/Serververbindung arbeitet kurz und friert dann ei

  Alt 19. Jul 2006, 08:09
Zitat von thomasdrewermann:
ich würde der Einfachheit halbe für die Kommandos die Ereignisse Client/Server Read und Client/Server Write benutzen.
Macht er so. Wo siehst du was anderes?

Zitat von thomasdrewermann:
Dort löst das Event immer aus, wenn er Zeichen empfängt. Der empfangene String wird dann auch direkt übergeben.
Ist mir neu - wo wird denn da ein String übergeben? Du bekommst Sender übergeben und die TCustomWinSocket Instanz welche das Ereignis auslöst, aber einen String? Das wäre doch fatal wenn sich der Socket rausnehmen würde zu behaupten, ich will einen String haben. Der Socket hat gefälligst Daten zu übertragen und sich nicht anschicken zu vermuten was ich haben will - also String, ein Byte oder ein Block binäre Daten...

Zitat von thomasdrewermann:
Versenden auf Server-Seite geht dann mit serversocket1.Socket[nummer des verbundenen client beginnt bei client 1 mit 0].SendText, auf Client-Seite geht es mit clientsocket1.SendText weil er ja immer nur eine Verbindung hat.
Warum? Er antwortet direkt im OnClientRead auf die empfangenen Packete und nutzt somit die übergebene TCustomWinSocket Instanz - und die findest du auch an den von dir genannten Orten wieder. Aber wo man sie bezieht ist Schnuppe - BlackJack's Weg ist genauso machbar und stellt kein Unterschied dar.

Zitat von thomasdrewermann:
Man muss nur darauf achten die empfangenen Daten sauber zu trennen, denn kruz hinter einander gesendete Zeichenketten werden manchmal als ein Event übergeben.
... oder mehrere Events bis ein Datenteil empfangen wurde. Aber selbst darauf achtet er in seinem Code.
  Mit Zitat antworten Zitat