Silverlight Multi-User application with synchronization

553 views Asked by At

I am wondering if it's possible to create a graphical application in Silverlight which supports synchronisation between the different clients.

To be a bit more precise, I am drawing concepts of developing a Silverlight Game. Visitors would log-in, and see live, synchronised what the other vistors are doing.

If it is possible to have this implemented, I would like to know what is needed to create a fully synched Silverlight environment between multiple peers. Anything from links, code snippets, ideas and / or alternatives are more than appreciated !

Please do not suggest Flash, as I do not own a valid Flash building license, I prefer to have this created within Visual Studio 2010.

Edit:

I want it to be as lightweight for the clients as possible, I don't care much for the server, and also low bandwidth consuming. I don't know whether a broadcasting principal is the only option to have all the events taken place at the same time?

2

There are 2 answers

1
NJE On BEST ANSWER

You may want to take a look at the Polling Duplex protocol of WCF. This is the subscription and publish concept. Support in SL has been about since version 2 so there's plenty of articles out there. An article I referenced for a message broadcast system we put in place at work can be found here...

http://tomasz.janczuk.org/2009/07/pubsub-sample-using-http-polling-duplex.html

which also mentions an interesting project on codeplex (I've not used)...

http://laharsub.codeplex.com/

1
CodeSpeaker On

A simple and working (but rather inefficient) solution would be for all clients to ask a WCF/Ria service on the server for status updates in regular intervals, perhaps once every X seconds or so, letting the server keep track of changes relevant to the calling clients.