Двусторонняя связь на Windows Phone 7 - PullRequest
1 голос
/ 02 декабря 2011

Я должен создать приложение для Windows Phone 7.5, которое может осуществлять двустороннюю связь с тем же приложением, установленным на других устройствах с той же операционной системой.

Я прочитал, что версия Silverlight на Windows Phone поддерживает только BasicHttpBinding, поэтому я думаю, что мне придется реализовать двунаправленный режим с использованием BasicHttpBinding: например, узел, принимающий входящее «соединение», может отправить GUID на запрашивающий узел для определения вида сеанса (этот GUID должен затем отправляться для каждого последующего соединения между двумя узлами).

Есть ли лучшие альтернативы?

Ядром всех коммуникаций является связь между двумя узлами:

  • есть три типа запросов (один из них должен быть очень частым, скажем, каждые 10 секунд);
  • узел, который получает запрос, может ответить или проигнорировать запрос.

Как влияет на производительность?

Ответы [ 2 ]

3 голосов
/ 02 декабря 2011

Я не думаю, что есть способ принимать подключения на устройствах WP7, см. здесь .

Поскольку WP7 также не поддерживает дуплексные службы WCF для опросов, я рекомендую вам реализовать его вручную, как показано ниже: http://www.dominikschmidt.net/2010/12/windows-phone-7-callbacks-and-duplex-wcf/

Вам потребуется центральный сервер, на который все клиенты постоянно отправляют сообщения. Каждый раз, когда Client1 вызывает сервер, он проверяет базу данных, чтобы увидеть, отправил ли Client2 Client1 сообщение. Если это так, это сообщение включается в ответ на Client1.

2 голосов
/ 02 декабря 2011

Возможно, вам необходим ретрансляционный сервис, поскольку маловероятно, что вы будете иметь маршрутизируемую стабильную связь напрямую между устройствами.Например, Project Hawaii Relay Service , вероятно, предоставит то, что вы хотите, или вы могли бы реализовать что-то, что выглядит и действует почти так же, как на вашем собственном сервере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...