W artykule przedstawiono budowę klienta sygnalizacji współpracującego z prostym serwerem sygnalizacyjnym. Klient taki może być prostym klientem, wymagającym jedynie podstawowej sygnalizacji, lub bardziej złożonym. Jako przykład systemu o większym stopniu złożoności pokazano aplikację zgodną z architekturą WebRTC. W artykule przedstawiona została przykładowa komunikacja pomiędzy klientem i serwerem zebrana podczas sesji WebRTC. Artykuł zawiera również przykłady dwóch rozwiązań aplikacji czatu internetowego, które wykorzystują ten sam interfejs użytkownika oraz ten sam system sygnalizacji (drugie rozwiązanie rozszerza pierwsze o obsługę komunikatów sygnalizacyjnych techniki WebRTC), różnią się natomiast sposobem transmisji danych użytkownika (wiadomości tekstowych czatu). W pierwszym rozwiązaniu dane użytkownika przenoszone są kanałem sygnalizacyjnym (via serwer sygnalizacyjny) z wykorzystaniem interfejsu WebSocket. W drugim rozwiązaniu dane użytkownika przenoszone są bezpośrednio pomiędzy przeglądarkami (kanałem WebRTC przeznaczonym do transmisji danych niemedialnych) z wykorzystaniem interfejsu RTCDataChannel techniki WebRTC.
EN
A simple signalling server, written in JavaScript and running in node.js run-time environment, was presented in the previous paper of the Authors [3]. In this paper, principles of building of WebRTC signalling client are presented, as well as exemplary communication between the client and the server, captured with the use of WireShark software tool during experimental WebRTC sessions. The paper includes also an example of application of Internet chat, that uses the simple signalling server [3]. The chat was builreneusz in two versions, which uses the same user interface and their signalling systems were build according to the same methodology, but differs in method of transmission of chat messages. The first version transmits user data (text messages of the chat) via signalling server, with the use of signalling channel. This version uses WebSocket interface for transmission of chat messages. In the case of the second version, user data are transmitted directly between web browsers, using WebRTC's channel dedicated for transmission of nonmedia data. This version transmits chat messages with the use of WebRTC's RTCDataChannel interface.
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.
EN
Web Real-Time Communications (WebRTC) technology is an enabler of native transmission of multimedia information between two and more Web browsers. WebRTC is based on HTML version 5 (HTML5) and JavaScript languages. Although both real-time media streams (audio, video) and non-real-time non-media flows (also present in WebRTC architecture) are transmitted directly between browsers, to enable transmission of information necessary for session management (and more precisely: session establishment) purposes, a signalling server is needed. Such server may be regarded as a rendez-vous point of end systems that use WebRTC technology. In this paper, node.js run-time environment and principle of building of Webrtc signalling server with the use of scripts written in JavaScript and run in node.js are presented. Example of script of a simple signalling server also is shown. The exemplary server connects users of one and only session, although this session may serve not only one-to-one, but also many-to-many connections. Despite its simplicity, this is a fully functional signalling server, able to serve signalling messages for purposes of message exchange, or for purposes of initialization of WebRTC-based Internet telephony or simple conferencing systems.
W artykule przeanalizowano i porównano wydajność komunikacji rozproszonych obiektów, realizujących funkcjonalności klienta i serwera na podstawie standardów CORBA i COM/DCOM, w celu pokazania możliwości ich zastosowania do realizacji systemów typu klient-serwer. Przedstawiono obiektowo zorientowany model aplikacji testowej. Przeanalizowano czasy transmisji dla danych typów podstawowych, dla tablic jednowymiarowych oraz struktur danych.
EN
In this work there was analyzed and compared the communication efficiency of the distributed objects which were realized the client and the server functionalities based on the CORBA and the COM/DCOM standards in order to show the possibilities of its application to the client-server systems implementation. The object-oriented model was presented for the testing application. It was analysed transmission times for the basic data types, the tables and the structures.
4
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
The aim of this work was to analyze the cooperation eciency of the distributed objects based on the CORBA standard. The obtained results show the possibilities of application to the object-relational databases or ob- ject oriented computation of data received via the network from the object managed data base. The distributed objects for the client-server model were implemented in Java and C++ languages. All possible congurations of the implementation for the client and the server were analyzed. Best results were received for the client and the server implementation in C++ language. The worst results were received for the client and the server implementation in Java.
General concept of photonics collaboralive laboratory with remote access via Internet or local network and using PC is proposed. The client/server model and server service are presented. The communication protocol permits the management with any device available in the laboratory. Exemplary of implementation of the project by creating ready for use 3D Shape Measurement Laboratory is presented.
PL
Zaproponowano koncepcję udostępnienia laboratorium fotonicznego ze zdalnym dostępem, bazując na Internecie lub sieci lokalnej oraz komputerów PC. Przedstawiono strukturę klient/serwer i dostępne usługi serwera. Opracowany protokół komunikacji pozwala na zarządzanie sprzętem znajdującym się w laboratorium. Zaprezentowano też przykładowe rozwiązanie bazujące na laboratorium pomiaru kształtu 3D.
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.