9 resultados para WebSocket
Resumo:
Al giorno d’oggi il World Wide Web non è più un semplice strumento per la condivisione di informazioni. Le tecnologie nate nel corso dell’ultimo decennio hanno permesso lo sviluppo di vere e proprie applicazioni Web (Web App) complesse, indipendenti e multi-utente in grado di fornire le stesse funzionalità delle normali applicazioni desktop. In questa tesi verranno trattate le caratteristiche di una Web App moderna, analizzandone l’evoluzione e il processo produttivo. Particolare attenzione sarà posta alle Web App distribuite e ai meccanismi di comunicazione client-server che queste nuove tecnologie hanno reso disponibili. I WebSocket, la tecnologia di riferimento di HTML5, saranno riportati come caso di studio e relazionati allo standard precedente ad HTML5, cioè Ajax e Long Polling.
Resumo:
Questo lavoro di tesi studia e analizza le prestazioni di applicazioni basate sui protocolli HTTP/2 e WebSocket, affrontando, anche in maniera sperimentale, due differenti tecniche: polling e push.
Resumo:
A velocidade de difusão de conteúdos numa plataforma web, assume uma elevada relevância em serviços onde a informação se pretende atualizada e em tempo real. Este projeto de Mestrado, apresenta uma abordagem de um sistema distribuído de recolher e difundir resultados em tempo real entre várias plataformas, nomeadamente sistemas móveis. Neste contexto, tempo real entende-se como uma diferença de tempo nula entre a recolha e difusão, ignorando fatores que não podem ser controlados pelo sistema, como latência de comunicação e tempo de processamento. Este projeto tem como base uma arquitetura existente de processamento e publicação de resultados desportivos, que apresentava alguns problemas relacionados com escalabilidade, segurança, tempos de entrega de resultados longos e sem integração com outras plataformas. Ao longo deste trabalho procurou-se investigar fatores que condicionassem a escalabilidade de uma aplicação web dando ênfase à implementação de uma solução baseada em replicação e escalabilidade horizontal. Procurou-se também apresentar uma solução de interoperabilidade entre sistemas e plataformas heterogêneas, mantendo sempre elevados níveis de performance e promovendo a introdução de plataformas móveis no sistema. De várias abordagens existentes para comunicação em tempo real sobre uma plataforma web, adotou-se um implementação baseada em WebSocket que elimina o tempo desperdiçado entre a recolha de informação e sua difusão. Neste projeto é descrito o processo de implementação da API de recolha de dados (Collector), da biblioteca de comunicação com o Collector, da aplicação web (Publisher) e sua API, da biblioteca de comunicação com o Publisher e por fim a implementação da aplicação móvel multi-plataforma. Com os componentes criados, avaliaram-se os resultados obtidos com a nova arquitetura de forma a aferir a escalabilidade e performance da solução criada e sua adaptação ao sistema existente.
Resumo:
Työ tutkii, miten yksinkertaisen opetuskäyttöön suunnatun videoneuvotteluportaalin prototyypin rakentaminen onnistuu avoimilla tekniikoilla. WebRTC mahdollistaa selaimen päällä toimivan videoneuvottelusovelluksen rakentamisen avoimia ohjelmistorajapintoja käyttäen. Prototyypin toteuttamiseen käytetään WebRTC:n lisäksi WebSocket-standardia keskustelun tahojen yhdistämiseen. WebSocket toteutetaan Node.js:ää käyttävällä socket.io-kirjastolla. Sovelluksen avulla on tarkoitus pystyä muodostamaan ääni- ja videoyhteys kahden asiakasohjelman välille. Opetuskäyttöä tukevina ominaisuuksina mukana on myös tekstipohjainen keskustelu ja mahdollisuus opetuskalvojen selaamiseen. Lopputuloksena on laajennettavissa oleva avoin videoneuvottelusovelluksen prototyyppi.
Resumo:
HTML5-tekniikka sekä Javascript tuen laajuus selaimissa vaihtelee. Tässä työssä kyseisiä tekniikoita tutkitaan ja selvitetään niiden toimivuus keräilykorttipelin tarvittavien ominaisuuksien osalta. Tuet kartoitetaan viiden yleisimmän selaimen osalta. HTML5 tukee WebSocket-ominaisuutta, mutta kaikki selaimet eivät tue ominaisuutta tai se on poistettu käytöstä. Työssä etsitään tiedonsiirtotekniikan korvaaja, jota testataan ja verrattaan yleisesti käytettäviin tekniikoihin. Socket.io oli nopea tekniikka ja viisi yleisintä selainta tuki kyseistä tekniikkaa. Tämän vuoksi Socket.io-tekniikka soveltuu keräilykorttipeliin hyvin. Työssä tutkitaan keräilykorttipeliin liittyviä ongelmia sekä ratkaistaan ilmenneet ongelmat. Keräilykorttipelissä kyseisiä ongelmia ilmeni hyvin vähän. HTML5 animaatio tutkitaan että se on optimoitu hyvin, jotta käyttäjälle tulee miellyttävä peli kokemus. Keräilykorttipeliin lisäksi tehdään käytännön toteutuksena pakkaeditorin prototyyppi, jossa käytetään drag&drop-tekniikkaa. Tämän vuoksi myös drag&drop-tekniikan tuki on selainten osalta kartoitettu myös työssä, sekä testattu käytännön toteutuksena prototyypissä. Prototyypin tarkoitus on kartoittaa mahdolliset tulevat ongelmat sekä auttaa varsinaisen pakkaeditorin tuotantoversiossa.
Resumo:
Geclock è un'innovativa piattaforma di e-learning che mette al primo posto la collaborazione tra persone. Il suo funzionamento somiglia molto a quello delle banche del tempo: ogni azione in favore della comunità conferisce all'utente un certo numero di crediti temporali che che potranno essere spesi in futuro all'interno di essa.
Resumo:
Realizzazione di un'app mobile interpiattaforma tramite phonegap che permette la geolocalizzazione di utenti di un gruppo. Connessione Client-Server attraverso Websocket. Librerie di Socket.IO e mappe di Google Maps.
Resumo:
Nella prima parte di questa tesi viene introdotto il concetto di Internet of Things. Vengono discussi gli elementi costituitivi fondamentali di tale tecnologia, le differenti architetture proposte nel corso degli anni e le sfide che devono ancora essere affrontate per vedere realizzato l’IoT. Questa prima parte si conclude inoltre con due esempi di applicazione dell’IoT. Questi due esempi, Smart City e Smart Healthcare, hanno l’obbiettivo di evidenziare quali sono i vantaggi ed i servizi che possono essere offerti all’utente finale una volta applicato l’IoT. Nel secondo capitolo invece, vengono presentate le funzionalità della piattaforma IoT ThingWorx, la quale mette a disposizione un ambiente di sviluppo per applicazioni IoT con l’obbiettivo di ridurre i tempi e quindi anche i costi di sviluppo delle stesse. Questa piattaforma cerca di ridurre al minimo la necessità di scrivere codice, utilizzando un sistema di sviluppo di tipo “Drag and Drop”. ThingWorx mette anche a disposizione degli SDK per facilitare la programmazione dei device, gestendo soprattutto la parte di comunicazione nodo – piattaforma. Questo argomento viene trattato ampiamente nella parte finale di questo capitolo dopo aver visto quali sono i concetti fondamentali di modellazione e rappresentazione dei dati sui quali si basa la piattaforma. Nel terzo e ultimo capitolo di questa tesi viene presentato innanzitutto il tutorial Android di ThingWorx. Svolgere e successivamente estendere il tutorial ha evidenziato alcune limitazioni del modello iniziale e questo ci ha portato a progettare e sviluppare il componente Aggregated & Complex Event Manager per la gestione di eventi complessi e che permette di sgravare parzialmente la piattaforma da tale compito. La tesi si conclude evidenziando, tramite dei test, alcune differenze fra la situazione iniziale nella quale il componente non viene utilizzato e la situazione finale, nella quale invece viene usato.
Resumo:
SSR es el acrónimo de SoundScape Renderer (tool for real-time spatial audio reproduction providing a variety of rendering algorithms), es un programa escrito en su mayoría en C++. El programa permite al usuario escuchar tanto sonidos grabados con anterioridad como sonidos en directo. El sonido o los sonidos se oirán, desde el punto de vista del oyente, como si el sonido se produjese en el punto que el programa decida, lo interesante de este proyecto es que el sonido podrá cambiar de lugar, moverse, etc. Todo en tiempo real. Esto se consigue sin modificar el sonido al grabarlo pero sí al emitirlo, el programa calcula las variaciones necesarias para que al emitir el sonido al oyente le llegue como si el sonido realmente se generase en un punto del espacio o lo más parecido posible. La sensación de movimiento no deja de ser el punto anterior cambiando de lugar. La idea era crear una aplicación web basada en Canvas de HTML5 que se comunicará con esta interfaz de usuario remota. Así se solucionarían todos los problemas de compatibilidad ya que cualquier dispositivo con posibilidad de visualizar páginas web podría correr una aplicación basada en estándares web, por ejemplo un sistema con Windows o un móvil con navegador. El protocolo debía de ser WebSocket porque es un protocolo HTML5 y ofrece las “garantías” de latencia que una aplicación con necesidades de información en tiempo real requiere. Nos permite una comunicación full-dúplex asíncrona sin mucho payload que es justo lo que se venía a evitar al no usar polling normal de HTML. El problema que surgió fue que la interfaz de usuario de red que tenía el programa no era compatible con WebSocket debido a un handshacking inicial y obligatorio que realiza el protocolo, por lo que se necesitaba otra interfaz de red. Se decidió entonces cambiar a JSON como formato para el intercambio de mensajes. Al final el proyecto comprende no sólo la aplicación web basada en Canvas sino también un servidor funcional y la definición de una nueva interfaz de usuario de red con su protocolo añadido. ABSTRACT. This project aims to become a part of the SSR tool to extend its capabilities in the field of the access. SSR is an acronym for SoundScape Renderer, is a program mostly written in C++ that allows you to hear already recorded or live sound with a variety of sound equipment as if the sound came from a desired place in the space. Like the web-page of the SSR says surely better explained: “The SoundScape Renderer (SSR) is a tool for real-time spatial audio reproduction providing a variety of rendering algorithms.” The application can be used with a graphical interface written in Qt but has also a network interface for external applications to use it. This network interface communicates using XML messages. A good example of it is the Android client. This Android client is already working. In order to use the application should be run it by loading an audio source and the wanted environment so that the renderer knows what to do. In that moment the server binds and anyone can use the network interface. Since the network interface is documented everyone can make an application to interact with this network interface. So the application can have as many user interfaces as wanted. The part that is developed in this project has nothing to do neither with audio rendering nor even with the reproduction of the spatial audio. The part that is developed here is about the interface used in the SSR application. As it can be deduced from the title: “Distributed Web Interface for Real-Time Spatial Audio Reproduction System”, this work aims only to offer the interface via web for the SSR (“Real-Time Spatial Audio Reproduction System”). The idea is not to make a new graphical interface for SSR but to allow more types of interfaces and communication. To accomplish the objective of allowing more graphical interfaces this project is going to use a new network interface. By now the SSR application is using only XML for data interchange but this new network interface support JSON. This project comprehends the server that launch the application, the user interface and the new network interface. It is done with these modules in order to allow creating new user interfaces that can communicate with the server or new servers that can communicate with the user interface by defining a complete network interface for data interchange.