Hej.

Mam drobny problem z serwerem i głowię się nad nim od kilku dni.
Mam napisany web serwer w C# (zapytania REST, baza danych itp.).
Teraz próbuję do tego wpiąć obsługę socketów.
Szukam jakiegoś dobrego rozwiązania do tego, bo póki co wszystkie okazują się nie do końca poprawne:
-mogę opakować projekt w Azure Cloud Service i obecny serwer wrzucić jako web role i dodać worker role do obsługi socketów, ale pomijając już wszystko inne, nie mogę wystawić wtedy serwera żeby działał po lanie, bo zamiast wystawić się przez IIS odpala się w emulatorze azura i same z tym problemy
-wrzucenie projektu jako zwykły web service odpada, bo na azure projekt ma otwarte tylko dwa porty, http i https i nie pozwala na otwieranie portów ani na protokoły tcp
-wpadłem na pomysł żeby postawić jakąś VM na azure z windowsem i z niej odpalać serwer, ale też to nie brzmi zbyt wyśmienicie

Jest jakiś sensowny sposób żeby projekt działał po lanie oraz na azure (w przyszłości jest spora szansa że będę migrował do aws, więc dobrze żeby aws też wsparł ten ty projektu)?
Póki co najlepszym rozwiązaniem jest zwykłe wpięcie socketów do web service, co działa lokalnie, ale azure nie pozwala otworzyć żadnego portu żeby nasłuchiwał tcp.