Server ruft Client (nicht umgekehrt)

21/09/2007 - 20:50 von Matthias Haarmann | Report spam
Hallo,

ich hoffe ich bin hier in dem Forum richtig, denn die Frage ist
wahrscheinlich nicht C#-spezifisch, sondern eher Netzwerktechnik...

Ich habe mir mittels den Beispielen:

Verwenden eines asynchronen Serversockets
(http://msdn2.microsoft.com/de-de/library/5w7b7x5f(VS.80).aspx)
u.
Verwenden eines asynchronen Clientsockets
(http://msdn2.microsoft.com/de-de/library/bbx2eya8(VS.80).aspx)

einen Server gebastelt der mehrere Clients bedienen kann, was auch
sehr gut funktioniert.

Nun habe ich z.B. drei Clients. Ich hàtte das nun gerne so, dass z.B.
Client A dem Server geànderte Daten mitteilt und der Server den Clienten
B u. C nun mitteilt das neue Daten verfügbar sind, welche dann wiederum
eine Verbindung zum Server aufbauen und sich die Daten holen.

Zweck der geschichte ist dass ich vermeiden möchte für die Clients einen
eigenen TCP_Listener einzurichten (blockieren) bzw. verhindern möchte
dass die Clienten in regelmàßigen Abstànden beim Server nach neuen
Daten nachfragen müssen. Aktuelle Daten könnten z.B. erst nach 3min
anstehen, eventuell aber auch schon nach wenigen Sekunden.

Wenn etwas nicht verstàndlich war bitte nachfragen, ansonsten freue
ich mich auf Ideen und Lösungen... :-)

Gruß Matthias
 

Lesen sie die antworten

#1 Thomas Scheidegger [MVP]
21/09/2007 - 21:09 | Warnen spam
Hallo Matthias


Nun habe ich z.B. drei Clients. Ich hàtte das nun gerne so, dass z.B.
Client A dem Server geànderte Daten mitteilt und der Server den Clienten
B u. C nun mitteilt das neue Daten verfügbar sind, welche dann wiederum
eine Verbindung zum Server aufbauen und sich die Daten holen.



es gibt nur Listen & Connect, so gesehen stellt sich die Frage gar nicht...


vermeiden möchte für die Clients einen eigenen TCP_Listener einzurichten



daher ist alles ganz simpel,
1 Server (Listen), viele Clients machen Connect und _halten_ diese Verbindung (Socket) stets offen.
Und Sockets bieten bekanntlich bidirektionale Kommunikation,
spàtestens zusammen mit asynchronem IO làsst sich eigentlich alles (elegant) lösen.
Das eigene Protokoll muss natürlich entsprechend flexibel sein.





Thomas Scheidegger - MVP .NET - 'NETMaster'
http://www.cetus-links.org/oo_dotnet.html - http://dnetmaster.net/

Ähnliche fragen