O documento discute websockets, incluindo o que são, como funcionam no lado do cliente e servidor e opções de bibliotecas para PHP. É apresentada uma introdução aos websockets, como estabelecer conexões no cliente e servidor e três opções populares de bibliotecas PHP para começar com websockets: Realtime, Ratchet e fazer sua própria implementação.
7. 1. O que é websockets?
two-way communication between a client running untrusted code
in a controlled environment to a remote host
the security model used for this is the origin-based
the protocol consists of an opening handshake
basic message framing
layered over TCP
not rely on opening multiple HTTP connections
8. 2. Client-side
var connection = new WebSocket('url', [protocols]);
connection.onopen = function () {
connection.send('Ping');
};
connection.onerror = function (error) {
console.log('WebSocket Error ' + error);
};
connection.onmessage = function (e) {
console.log(e.data);
};
Vai dar tudo certo
É uma olhada rápida e levemente detalhada sobre o que é e como trabalhar com comunicação em tempo real usando websockets e php
É importante falar como e porquê conheceu websockets (falar de segunda tela)
O websokets surgiu para resolver alguns problemas. Existem as situações x, y e z que precisam de conexão em tempo real, ou seja, que o cliente seja atualizado sem que atualize a página. A solução mais simples seria o pooling, mas com ela temos os problemas x, y e z.
O long pooling é uma solução melhor. A definição dessa técnica se confunde com o que muita gente chama de COMET. É o que o google usa para atualizar os emails sem que o usuário atualize a página. É o que o facebook utiliza para manter o chat e as outras funções que vão acontecendo sem que a gente saia da página. Falar sobre engenheiro do facebook que disse que só não usam websockets pq não pega em todos os browsers. Apenas nos principais, hehe.
É um protocolo que permite comunicação persistente, bidirecional e full duplex entre cliente e servidor.
We do not need to send headers at each message — so no overhead, just data.
O origin vem no cabeçalho
Emoldura a mensagem de forma que ela alcance o cliente da mesma forma que foi enviada
Camada que define quais os protocolos de comunicação a serem utilizados
Faz parte do core do php. PHP 5, 7
Está na PECL, 4, 5 7
Está na PECL, 4, 5 7
Vc viu que é muito fácil a lógica do websockets. Pq não fazer vc mesmo? Esse aqui é uma combinação de 3 ou 4 bibliotecas que achei pelo git hub.