Two-way communication on Windows Phone 7
Someone asked on Stack Overflow:
I should make an application for Windows Phone 7.5, which is able to communicate bidirectionally with the same application installed on other devices with the same operating system.
I read that the Silverlight version on Windows Phone only supports BasicHttpBinding, so I think I will have to implement bi-directional mode using the BasicHttpBinding: for example, the node that accepts the incoming “connection” could send a GUID to the requesting node in order to identify a kind of session (this GUID should then be sent for each subsequent communication between two nodes).
Are there better alternatives?
The core of all communication is communication between two nodes:
- there are three types of requests (one of these must be very frequently, say every 10 seconds);
- the node which receives a request, could answer or ignore the request.
What is the impact on performance?
I posted the following answer, which was chosen as the accepted answer and received 3 upvotes:
I don’t think there is a way to accept connections on WP7 devices, see here.
Since WP7 doesn’t support poll duplex WCF services either, I recommend you manually implement it, similar to this: http://www.dominikschmidt.net/2010/12/windows-phone-7-callbacks-and-duplex-wcf/
You will need a central server which all clients continually post messages to. Every time a Client1 calls the server, it checks the database to see if Client2 sent Client1 a message. If so, that message is included in the response to Client1.
Originally posted on Stack Overflow — 3 upvotes (accepted answer). Licensed under CC BY-SA.