Top Banner
INTEGRACJA DANYCH PRZESYŁANYCH ZA POMOCĄ WEB-SOCKETÓW NA PRZYKLADIE BIBLIOTEKI „RATCHET” STUDENT: NAZAR PATRYLO
12

integracja danych przesyłanych za pomocą Web-Socketów na przykladie biblioteki Ratchet

Jan 10, 2017

Download

Technology

Nazar Patrylo
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

integracja danych przestrzennych za pomoc Web Socket na przekladie biblioteki Ratchet

integracja danych przesYANYCH za pomoc Web-Socketw na przykladie biblioteki RatchetStudent: Nazar Patrylo

Znaczenie danychDane na stronie z czasem staj nie s aktualne;podstawie nieaktualnych danych mona podj bdne decyzj;Nie waciw decyzj prowadzi w kocu do strat finansowych, jeli ta aplikacja rozwizuje biznes zadania.Wyjcie? Trzeba pobiera dane z serwera w momencie ich otrzymania na serwer;Trzeba mie moliwo rozpocz wysyanie danych przez serwer.

Jak zaktualizowa dane ?Pierwszy sposb pyta co sekundy serwer o nowych danych. Przy tym im czciej , tym szybciej otrzymujemy aktualizacja danych.

Sposb drugi wykorzystanie technologii websockets. Takie podejcie daje mozliwo dla serwera nie zamyka poczenie i pozostawi je otwarte. W przypadku otrzymania zdarzenia serwer odesle jego do jednego lub wielu klientw.

technologia websocketWebSocket - jest technologi zapewniajc dwukierunkowy kana komunikacji za porednictwem jednego gniazda TCP. Stworzono j do komunikacji przegldarki internetowej z serwerem internetowym, ale rwnie dobrze moe zosta uyta w innych aplikacjach typu klient lub serwer.

Aby zainstalowa WebSocket-poczenia, klient wysya handshake-danie, a serwer odpowiada, jak pokazano w poniszym przykadzie:

Jakie przegldarki s obsugiwane?

KOMUNIKACJA Z SERWEREM W CZASIE RZECZYWISTYM (web-chat)Zastosowane technologie :Biblioteka - Ratchet - PHP WebSocketsPHP Framework - laravel 5.2Architektura aplikacji:Klient-serwer

kolejno wykonywania polczenia

Poniej schemat ilustruje kolejno wykonywania polczenia clienta z serwerem:

programowanie po czci serweraKorzystanie z zasobw - ratchetuse App\Classes\Socket\Base\BaseSocket;use Ratchet\ComponentInterface;Tworzenie klasy ChatSocket()Realizacja metody:onOpen()onMessage()onClose()onError()

programowanie po czci serweraKorzystanie z zasobw - ratchetuse Illuminate\Console\Command;use Ratchet\Http\HttpServer;use Ratchet\Server\IoServer;use Ratchet\WebSocket\WsServer;use App\Classes\Socket\ChatSocket;Tworzenie klasy ChatServer Realizacja metody handle()public function handle() { $this->info("Start server"); $server = IoServer::factory( new HttpServer( new WsServer( new ChatSocket() ) ) ,8080 ); $server->run(); }

programowanie po czci Clienta

Tworzenie witryny web serwisuTworzenie metody poloncenia z serweromvar conn = new WebSocket('ws://chat.dev:8080'); conn.onopen = function(e){ console.log('conection established!'); var massage = ': '+user_name+' !'; var data = {auth:true, massage:massage, user_name:user_name, id:user_id, name:'',color:user_color,type:'new-user'}; send(massage,data); console.log() $('.masssages').append(' '); };

wynikiem programu JEST:

bibliografiahttp://socketo.me/https://laravel.com/http://internetdevels.ua/blog/implementing-websockets-using-php-ratchet-library-or-tornado-web-serverhttps://habrahabr.ru/post/250085/http://ena.lp.edu.ua:8080/bitstream/ntb/20136/1/22-139-147.pdfhttps://habrahabr.ru/post/209864/http://en.wikipedia.org/wiki/Comet_(programming)http://en.wikipedia.org/wiki/WebSockethttps://github.com/nicokaiser/php-websocket