2011-02-03 17 views
27

Wcześniej dzisiaj natknąłem się na Kaazing's WebSocket API dla HTML5.Websockets z ASP.NET MVC/MVVM

Wygląda fantastycznie, ale ponieważ dopiero teraz badam możliwości WebSocket w zakresie aktualizacji finansowych w czasie rzeczywistym, chciałbym usłyszeć pewne zalecenia i pułapki, których należy unikać przy planowaniu tej architektury.

Zajmuję się ASP.Net MVC i ewentualnie niektóre WPF/Silverlight MVVM.

Czy istnieją inne interfejsy API WebSocket, które są lepsze (i dlaczego) oraz kilka dobrych przykładów?

Ponadto, jaki rodzaj ruchu może obsługiwać WebSockets? Mam na myśli, jeśli mamy ponad milion użytkowników systemu aktualizującego się w czasie rzeczywistym, w jaki sposób zmieniają się wymagania sprzętowe, ponieważ architektura oprogramowania implementuje WebSockets?

Odpowiedz

1

https://github.com/Olivine-Labs/Alchemy-Websockets

Oto biblioteka serwera i klienta sieci Web z otwartym źródłem. C#/Javascript. Obejmuje zastępcze gniazda flash dla przeglądarek, które jeszcze nie mają gniazd internetowych. Testowane w większości przeglądarek internetowych, w tym mobilnych, działa wszędzie.

Realtime financials? Nie wiem, ile połączeń planujesz obsługiwać, ale ten jest również najbardziej skalowalnym rozwiązaniem dostępnym w tej chwili.

1

Chociaż liczba przeglądarek jest dość ograniczona w przypadku gniazd internetowych, przeglądarki mobilne mają na to wsparcie. Ale zastanawiałbym się nad wykorzystaniem bardziej przyjaznych dla przeglądarki opcji, takich jak PokeIn wsteczna biblioteka ajaxów

9

Późna odpowiedź. Oto WebSocket Server (framework) oparty na .NET i mający wsparcie dla wzorcowania/kontrolera i walidacji itp. W sposób przypominający MVC. Rozpoczęcie korzystania z niego jest bardzo łatwe. Wystarczy utworzyć nową MVC3 projektu oraz rodzaj:

Install-Package XSockets

Używanie konsoli Menedżer pakietów w Visual Studio

Więcej informacji na http://xsockets.net

I tak, to obsługuje RFC6455 i Hibi00 i ma awarię dla "starszych" przeglądarek.

4

Pomyślałem, że wrócę do tego, teraz, gdy mam gotowe rozwiązanie do produkcji. Przyjrzałem się kilku sprzedawcom, którzy w zasadzie pobierają dużo pieniędzy za coś, co w zasadzie można zbudować. Wszystkie mają dobre produkty, a jeśli czas na rynek jest decydujący, te opcje prefabrykacji mogą być najlepsze na krótką metę.

Po przełączeniu z Node.JS na Socket.IO, zwróciłem moją uwagę na SignalR - asynchroniczną bibliotekę sygnalizacyjną dla.NET, aby pomóc w tworzeniu interaktywnych aplikacji internetowych w czasie rzeczywistym i dla wielu użytkowników oraz wykorzystał implementację huba.

Zarządza on wszystkimi budynkami do podnoszenia ciężarów i połączeń za pomocą zaledwie kilku linii kodu JavaScript i automatycznie wybiera odpowiedni protokół transportu dla połączenia.

W przypadku środowiska z obciążeniem równoważnym wymagana jest implementacja serwera buforującego, takiego jak Redis.