Toon posts:

[.NET] Server triggert actie op client, kan dit?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Voor een applicatie binnen een bedrijfsomgeving ga ik gebruik maken van de techniek .NET Remoting.

Stel, een client voert een actie in (maakt een verzending aan of iets anders).
Dan wil ik dat de server alle clients informeert over deze update en ze nieuwe data op laat halen.

Probleem wil dat .NET Remoting, voor zover ik weet, gebaseerd is op acties van de client. Nu wil ik dus graag weten, kan een server acties op de client pushen?
Zo niet, is het dan misschien een oplossing om sockets te gebruiken? (Server en client hebben tcp verbinding, server zend een string met fetch_update ofzo, de client haalt daarop de gegevens binnen via .NET Remoting).

  • dominic
  • Registratie: Juli 2000
  • Laatst online: 21-08 19:07

dominic

will code for food

Gewoon ervoor zorgen dat de eerstvolgende keer dat de client contact heeft met de server de client op de hoogte wordt gesteld van een update.. Er wordt tegenwoordig nog maar weinig gepushed van server naar client..

Download my music on SoundCloud


  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 08:47

Koffie

Koffiebierbrouwer

Braaimeneer

Move PNS > PW

Braaikamer - Smoke&BBQ


Verwijderd

Topicstarter
Het topic stond toch al in PW ?

Kennelijk niet, sorry! 8)7

Verwijderd

Remoting is niets anders dan een object instantieren op een andere machine, daar methods van aanroepen en daarna het object weer weggooien. Heb je een applicatie draaien, dan is dat wellicht niet de juiste weg en kun je beter een aloude verbinding creeeren zoals je zelf al aangeeft, middels een TCP socket en een listener thread op de clients. Server gooit pakketje over lijntje naar clients, listener thread pakt het op en geeft seintje aan mainprocess van client dat hij iets moet doen (met bv een delegate call / event raising)

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Je kan je op de client aanmelden voor het ontvangen van events. Je speelt dan als client echter in feite gewoon een beetje server. Het object waarvan je een methode aanmeldt als listener op een event moet dan dus ook een instantie van een MarshalByRefObject zijn.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Otis: Remoting is niets anders dan een object instantieren op een andere machine, daar methods van aanroepen en daarna het object weer weggooien.
Dat hangt natuurlijk af van de manier waarop je op de server het remote object registreert. Als je dit met een WellKnownObjectMode.Singleton doet, worden er niet steeds nieuwe instanties aangemaakt en kan je je op het Singleton object dus gewoon aanmelden voor events. Er wordt dan dus steeds een nieuw remote object aangemaakt voor elke call.

Ik zou vanwege de enorme eenvoud zoveel mogelijk gebruik maken van .NET Remoting en niet al te snel naar plain sockets grijpen als dit niet noodzakelijk is. Je kan met plain sockets erg snel fouten maken omdat je simpelweg vrij veel moet doen.

[ Voor 20% gewijzigd door mbravenboer op 06-12-2002 09:58 ]

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment

Pagina: 1