Aplikacje webowe nie posługujące się HTTP   Leave a comment

Ja zwykle TechRepublic daje wiele wiadomości o aktualnych trendach w aplikacjach webowych – http://www.techrepublic.com/blog/programming-and-development/websocket-offers-a-new-approach-to-web-development/5707. Mimo powszechności stosowania protokołu HTTP coraz częściej w wyspecjalizowanych zastosowaniach korzysta się z gniazd (socket). Gniazda są niskopoziomowe i teoretycznie można oczekiwać większej wydajności i szybkości  komunikacji. Co jeszcze daje gniazdko:

  • działa na protokole TCP
  • wymiana danych m. klientem a serwerem odbywa się w czasie rzeczywistym w dwie strony bez konieczności odbycia tradycyjnego przebiegu żądanie/odpowiedź (odpytywanie z potwierdzeniem)
  • nie wymaga odpytywania okresowego serwera czy ma już odpowiedź

Dostęp do gniazd to nieodłączna część bibliotek języka C i Java (uwaga rok 1996 – http://www.javaworld.com/jw-12-1996/jw-12-sockets.html?page=2). Cała grupa języków dynamicznych też je ma. Ostatnio doszedł JavaScript (oczywiście osadzony w przeglądarce dlatego ważne wiedzieć o wsparciu – http://caniuse.com/websockets)  i to drogą pośrednią poprzez wprowadzenie standardu HTML5 za pomocą WebSockets. Dzięki temu stał się pełnoprawnym klientem gniazdkowym. Żeby tego było mało to od dwóch może lat istnieje biblioteka node.js. Można też stworzyć niezależny serwer na bazie – http://socket.io/#how-to-use. Biblioteka  Socket.IO jest dostępna dla różnych języków np.  C# – https://socketio4net.codeplex.com/, C++ – https://github.com/ebshimizu/socket.io-clientpp, Java czy Android. Są też slajdy – https://github.com/learnboost/socket.io/wiki. Jest nawet przykład gry – http://krasimirtsonev.com/blog/article/Real-time-chat-with-NodeJS-Socketio-and-ExpressJS

Ponieważ protokół gniazdkowy jest standardem to pojawiają się ciekawe kombinacje zastosowania tej technologii, np. klient w C++ a serwer postawiony na C# lub JS. Zarówno klienty i serwer mogą być implementowane w różnych technologiach!

Posted 15 Maj 2013 by marekwmsdn in Asynch, Web 2, Web Apps

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s

%d bloggers like this: