Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: SocketServer & mehrere Clients verwalten

  Alt 16. Aug 2005, 12:17
Ich habe mein mailkonzept auch nicht zum übertragen grösserer Datenmengen gedacht, sondern zur Kommunikation.
Du kannst doch dem Client, mit dem du dich mal 'ernsthaft' unterhalten willst, folgende Mail schicken:
Code:
REQUEST CONNECT
Host 192.168.123.001
Port 12345
Daraufhin baut der Empfänger einen Socket auf Port 12345 zur Adresse 192.168.123.001 auf und wartet auf weitere Instruktionen. Über ein geeignetes a) Mail-Format oder b) Übertragungsformat auf IP-Ebene verschickst du dann einfach Deine Daten. Anschließend wird der Socket wieder entfernt und fettich.

Ich habe das (Mail-)Konzept benutzt, um meinen Clients mitzuteilen, das sich wichtige (Kunden-)Daten auf dem Server verändert haben und sie doch bitteschön mal bei Gelegenheit ein Refresh ausführen sollen.

Wenn Du bidirektionale Kommunikation mit einem SocketServer haben willst, müssen deine Clients Connectionpoints implementieren, oder einfach alle paar Sekunden nachfragen, ob's denn eine Nachricht gibt ...

Du implementierst auf Serverseite zwei kleine Methoden:
Delphi-Quellcode:
Procedure SendMail (Const aSender, aRecipient, aText : String);
Function GetMail (aMyID : String; Var aSender, aText : String) : Boolean;
Mit SendMail schickst Du eine kleine Mail an irgendjemanden. Der Server puffert sie und übergibt sie an den Empfänger. Da kann dann wieder sowas drinstehen, wie:'Ey, mach mal ein Socket auf, ich hab was für Dich' oder so.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat