Hello,
I work on a chat-like application, where I use Silverlight on the client side and wpf on the server side. Right now the communication is based on Sockets: I have different Message-Classes which I serialize and send via TCP.
I start realizing that creating a seperate Message Class for each possibile communication scenario is quite an overhead and consider moving to WCF.
Therefore I need to know the following things:
It seems that the whole communication using WCF is based on the clients callind exposed methods from my WCF service. Is there a way of knowing which client calls a certain method? This is quite important for my application.
Does WCF notify my application, when a client disconnects (e.g. closes the browser window where the Silverlight client is running) from the server? This too is quite important.
Are the method calls completely asynchronous? If so, do I have to reroute each method call to the main thread of the server application?
Does every client connection has its own thread? How many simultaneous connections could the server (running on a reasonably powered PC) handle if the clients call methods say every 2 seconds? I just need a estimation (10, 100, 1000 or even more). "More" would be great ;)
Maybe I am completely wrong and WCF doesn't work connection-based at all. Then I would have to find a workaround to still manage a list of active connections.
Thanks for your help! Andrej