Komunikacja między aplikacjami przez internet.

0

Jak rozwiązać taką ideę(najlepiej korzystając z WCF'a)?:
Chcę aby moja AplikacjaSterująca wykonywana na WindowsPhone komunikowała się z AplikacjąGłówną zainstalowaną na komputerze.
Zakładam, że obie te aplikacje, są głęboko zakopane w sieci, jedna do drugiej nie ma dostępu przez jakieś statyczne IP. Mam jednak publiczny serwer IIS.

Potrafię stworzyć serwis i wywoływać jego funkcje z jednej aplikacji, ale jak rozwiązać powyższy problem? Dajmy na to, z AplikacjiSterującej chcę wywołać funkcję CallToDoWork, a to przy pomocy WCF'a rozkaże AplikacjiGłównej pracować. Mogę ten problem rozwiązać WCF'em? Proszę o pomoc.

0

WCF chyba pozwala na serwer pośredniczący, więc IIS, mógłby prawdopodobnie nim być, ale nie wiem na 100%.

1

nie bardzo widzę w czym masz problem. Masz serwer i dwóch klientów. Teraz jeden klient mówi serwerowi, żeby ten kazał drugiemu klientowi zrobić coś. Tu masz przykład dwukierunkowej komunikacji w WCF

0

Czyli upraszczając mam dwa wyjścia:
p2p - odpada, bo działa tylko lokalnie, a Hole Punching to jednak duża sprawa.
Duplex Callback - klient daje znać serwerowi, że jest połączony, serwer zapisuje go w Liście callbacków. Drugi klient się łączy i każe wykonać coś pierwszemu klientowi - teraz serwer odwoła się do listy callbacków i rozkaże działanie pierwszemu klientowi przez callbacka.
Co do drugiego rozwiązania mam jeszcze dwa pytania:

  1. Co gdy klientów będzie bardzo dużo? Będę musiał zapisać 'bardzo dużo' callbacków, co może być problemem przy ogromnej ilości userów.
  2. Załóżmy że serwer padł i stracił całą listę callbacków. Co w takim wypadku zrobić? W każdym kliencie sprawdzać co jakiś czas czy serwer żyje?

1 użytkowników online, w tym zalogowanych: 0, gości: 1