Prosty serwer sygnalizacyjny dla techniki WebRTC z wykorzystaniem środowiska uruchomieniowego node.js

Signalling servers for WebRTC technology with the use of node.js run-time environment

  • Agnieszka Chodorek Politechnika Świętokrzyska w Kielcach, Wydział Elektrotechniki, Automatyki i Informatyki
  • Robert Chodorek Akademia Górniczo-Hutnicza, Wydział Informatyki, Elektroniki i Telekomunikacji
Keywords: klient-serwer, nawiązanie sesji, node.js, serwer sygnalizacyjny, WebRTC

Abstract

Technika WebRTC, bazująca na językach HTML5 i JavaScript, umożliwia natywną transmisję informacji multimedialnej w czasie rzeczywistym pomiędzy przeglądarkami WWW. Chociaż same strumienie mediów, a także transmisje niemedialne (obecne w architekturze WebRTC, choć nie wymagające czasu rzeczywistego), przesyłane są bezpośrednio pomiędzy przeglądarkami, do przesyłania informacji niezbędnych do zarządzania sesją (a konkretniej: nawiązywania sesji) potrzebny jest serwer sygnalizacyjny. Serwer taki może być traktowany jako punkt spotkań dwóch lub więcej systemów końcowych wykorzystujących technikę WebRTC. W artykule przedstawiono zasady budowy takiego serwera za pomocą aplikacji tworzonych w języku JavaScript i uruchamianych w środowisku node.js. Omówiono środowisko node.js oraz pokazano przykład prostego serwera sygnalizacyjnego, budowanego na potrzeby wymiany komunikatów i (lub) inicjowania (wideo)telefonii lub (wideo)konferencji z małą liczbą terminali. Serwer ten łączy uczestników tylko w ramach pojedynczej sesji 1-do-1 lub wielu-do-wielu. Pomimo dużej prostoty, przykładowy serwer jest w pełni funkcjonalnym serwerem sygnalizacyjnym WebRTC, umożliwiającym realizację, między innymi, (wideo)telefonii pomiędzy przeglądarkami używającymi WebRTC.

References

Loreto S., Romano S.P., Real-Time Communication with WebRTC: Peer-to-Peer in the Browser, O'Reilly Media, Inc. 2014
2. Ilya G., High Performance Browser Networking, O'Reilly Media, 2013.
3. Chodorek R. R, Chodorek A., Rzym G., Wajda K., Badania wideokonferencji wykorzystującej WebRTC z mostkiem konferencyjnym w środowisku chmury, „Przegląd Telekomunikacyjny, Wiadomości Telekomunikacyjne” 2017, nr 6.
4. Bernier P., “How IoT and WebRTC Can Change the World”, http://www.realtimecommunicationsworld.com/topics/realtimecommunicationsworld/articles/400358-how-iot-webrtc-change-world.htm
5. Chodorek R. R, Rzym G., Wajda K., Chodorek A., Analiza współpracy terminali mobilnych wykorzystujących technikę WebRTC z telefonią VoIP stosującą protokół SIP, „Przegląd Telekomunikacyj-ny, Wiadomości Telekomunikacyjne” 2016, nr 6.
6. Loreto S., Romano S. P., Real-Time Communications in the Web. Issues, Achievements, and Ongoing Standardization Efforts, „Internet Computing” 2012.
7. Amirante A., Castaldi T., Miniero L., Romano S. P., On the seam-less interaction between webRTC browsers and SIP-based conferencing systems, „Communications Magazine” 2013, nr 4.
8. Johnston A., Yoakum J., Singh K., Taking on webRTC in an enterprise, IEEE Communications Magazine, 2013, nr 4.
9. Chodorek A., Chodorek R. R, Udostępnianie mediów lokalnych przeglądarce internetowej z wykorzystaniem techniki WebRTC, „Autobusy: technika, eksploatacja, systemy transportowe” 2016, nr 6.
10. Silberschatz A., Galvin P. B., Gagne G., Operating System Con-cepts, 9th Edition, John Wiley & Sons, Inc., 2013.
11. Fette I., Melnikov A., The WebSocket Protocol, RFC 6455, 2011.
12. The WebSocket API, http://www.w3.org/TR/websockets/
13. node-static, https://www.npmjs.com/package/node-static
14. socket.io, https://www.npmjs.com/package/socket.io
Published
2018-12-27
Section
Logistyka/Logistics