2010-12-19 4 views
15

Byłem bardzo podekscytowany perspektywą WebSockets. Ponieważ w przeszłości tworzyłem kilka gier na komputery stacjonarne i gry internetowe, chciałem połączyć te dwa podejścia do tworzenia gier sieciowych dla wielu graczy bez długiego sondowania.Alternatywa dla WebSockets

Od czasu, gdy Firefox i Opera wyłączyły strony internetowe ze względu na problemy z bezpieczeństwem (see here), czy to koniec WebSockets na najbliższą przyszłość?

Jeśli WebSockets rzeczywiście zginęły (lub przełożone w dającej się przewidzieć przyszłości), czy są jakieś alternatywy inne niż Long Polling?

Odpowiedz

27

WebSockets są żywe i kopią. Tylko Firefox 4 beta ma wyłączoną natywną obsługę WebSockets, a Chrome i Safari go nie mają. Opera ogłosiła, że ​​nie wyda z nią wydania, dopóki problemy nie zostaną rozwiązane, ale nigdy nie zostanie wydana wersja alfa/beta z włączoną mimo to.

Ponadto, wiele (być może większość) projektów korzystających z WebSockets korzysta z fall-backu web-socket-js (Flash). W przypadku tych projektów, przy uruchomieniu w przeglądarkach bez WebSockets lub z nim wyłączonym, zostanie użyty web-socket-js. Będzie to mniej wydajne niż rodzime, ale nadal będzie znacznie mniejsze opóźnienie niż długo-głosowanie.

Należy jednak pamiętać, że WebSockets jest znacznie młodszy niż większość innych elementów HTML5 (część z nich został podzielony kilka miesięcy temu) i nadal jest bardzo zaawansowany.

Grupa robocza HyBi (odpowiedzialna za opracowanie protokołu WebSockets) właśnie wydała wersję updated draft standard 04, która rozwiązuje problemy związane z bezpieczeństwem dostawcy przeglądarki (należy zwrócić uwagę w szczególności na to, że obawy nie wynikają z luki w zabezpieczeniach WebSockets, ale że WebSockets może być wykorzystywane do wykorzystywania luk w zabezpieczeniach pośredników HTTP).

Urządzenie discussion about WebSockets jest nadal bardzo aktywne na HyBi. Spodziewam się, że może pojawić się kolejna wersja z dalszymi ulepszeniami, zanim przejdzie do następnej rundy wydań przeglądarki. Dostawcy przeglądarek pragną rozwiązać problem, na który adresuje WebSockets (niska latencja, niska sieć komunikacyjna z przeglądarki), więc ruch w stronę WebSockets odbywa się szybko.

Obecne uderzenie to tylko uderzenie. Jednak niezależnie od tego, jak długo wdrażają się rodzime narzędzia, nadal można korzystać z WebSockets w każdej przeglądarce za pomocą gniazda sieciowego-js.

Aktualizacja:

Nowy protokół HyBi że usuwa obawy zabezpieczeń (między innymi) jest kompletny i ma być oficjalnie opublikowane w tym miesiącu (listopad 2011). HyBi-17 to najnowsza wersja specyfikacji.

Z podglądem programisty IE10, w tym z WebSockets, Opery i przeglądarki Androida, jedynymi przeglądarkami, które nie wysyłają implementacji WebSockets, która jest domyślnie włączona (implementacja Opery może być włączona ręcznie). Oczekuję, że to się wkrótce zmieni, aw międzyczasie web-socket-js został zaktualizowany do serii protokołów HyBi i nadal jest dobrym polyfill/shim dla przeglądarek bez domyślnej obsługi.