Silverlight: Hardware Integration Possibilities & Problems

One of the interesting capabilities in Silverlight is the ability to communicate cross-domain to socket hosts provided that certain policy requirements are satisfied. Specifically a policy file needs to be served up on port 943 and then a port in the range 4502-4534 can be used.

One of the possibilities that this creates is the ability to run daemon’s on desktop computers that serve up access to hardware devices. This is useful for scenarios where the majority of functionality can be delivered in a web-browser and only specific parts of the application need access to things like serial ports.

One problem with this architecture though is if over time we get lots of applications using this integration strategy – we are going to get contention on programs wanting to dish up policy on port 943.

I’d be great to have some kind of plug-in framework where the Silverlight runtime dropped down a default listener on port 943 on the local machine. When hit, the socket would serve up a policy file granting access to specific services in the 4502-4534 port range. Hardware vendors to could write Silverlight aware drivers which registered themselves with the out of the box listener.

Might be worth prototyping.

2 thoughts on “Silverlight: Hardware Integration Possibilities & Problems

  1. Miguel Madero

    It’s interesting, I wasn’t aware of this restriction, but I heard some ppl was doing this as a proxy to talk to hardware.

    I think it defeats the main purpose of using Silverlight to go this path since the main benefit over WPF is the deployment model, but now we have to deploy the service anyway, probably using the .NET Framework and leaving Mac users out or with a downgraded version.

  2. Pingback: Windows Image Acquisition via Silverlight « notgartner

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s