问题
I'm discussing Silverlight (v4 onwards) as a possible platform for a program that will need two instances to communicate directly. As far as I can tell, this is still not possible with the SL sockets assumptions of client-server comms.
Assume it is for a highly interactive two-player game and you will have a good idea of the performance requirements.
It doesn't need to scale to thousands of users with the same server so the performance and scaling issues which concern most people are irrelevant.
This answer seems fairly negative.
However, there is the possibility of installing a communications nub on the desktop machines for people who need the comms so I'm musing over the feasibility of having a little binary local server that handles the true peer-peer comms and is talked to by the local SL client.
That sounds a bit like Skinkers have done for video and the only concern would be the double-handling of messages but it's not much more than acting as a router.
UPDATE
Thinking more about Michael's answer, it occurred to me that my specific scenario is probably something satisfied by two instances of SL communicating within the one machine - inter-process comms.
Ironically, this is possible with browser-hosted SL but not, I fear, with OOB.
回答1:
Silverlight 4 with Elevated Trust has the potential to do this. If you run in elevated trust, you could possibly install and run a service on the client system. Because of the obvious potential for abuse, the user has to opt in directly for elevated trust.
来源:https://stackoverflow.com/questions/2255794/can-silverlight-do-peer-peer-comms-without-a-server-or-ship-a-local-server