Having worked with WCF for many years (and I like it), I do not think that this is the best option for your needs. As Phil noted, this is a sweet spot around web services, not low-level communication. To implement this in WCF, you need to write a custom transport, which, like almost all low-level (channel programming), includes a lot of code. This transport will need to use sockets to understand the device protocol, and you need to somehow convert the messages from the protocol to WCF messages.
If the protocol is simple, I think the best way would be to implement a βcleanβ socket based implementation. In any case, the socket handling code (for communicating with the device) will be needed in the WCF solution, but you can create your own message types instead of following the message protocol (rather SOAP-compatible) used by WCF.
One of the advantages that you would have if you went all the way and implemented a custom WCF transport that βsaysβ that this protocol will be if you expose it to different people who are already used to the WCF way of implementation services - you will have to bear the initial (very high) cost of writing WCF transport, but later people can write services for this device using the good contract model provided by WCF.
source share