Implementação simples do servidor do protocolo Pusher usando a biblioteca Ratchet para tratar o WebSockets
Versão do cliente Pusher usada: v7.0.3
git clone https://github.com/erycson/pusher-ratchet-server.git
cd pusher-ratchet-server
composer installEdite o arquivo config.json no servidor, e altere seguindo suas necessidades.
app.id: ID da aplicaçãoapp.key: Chave publica da aplicaçãoapp.secret: Chave privada da aplicaçãonetwork.host: IP por onde irá aceitar conexõesnetwork.port: Porta por onde aceitará as conexõesnetwork.path: Caminho base, muito usado caso esteja atrás de um proxywebhook.host: URL para onde será enviado os eventos do servidor
Já no cliente, lembre-se de adicionar network.path aos caminhos se você usou em algo, exemplo:
<script src="http://127.0.0.1:9090/dyncio/assets/js/pusher.min.js?v=v7.0.3"></script>
var pusher = new Pusher('example', { // O mesmo que app.key
wsHost: '127.0.0.1', // O mesmo que network.host
wsPort: 9090, // O mesmo que network.port
wsPath: '/dyncio', // O mesmo que network.path
forceTLS: false,
enabledTransports: ["ws"],
disabledTransports: ["flash"],
authEndpoint: "/dyncio/webhook" // URL para autenticação das salas private- e presence-
});Caso não queira implementar a autenticação, use /dyncio/webhook, pois esse servidor implementa de forma básica essa autenticação.
Caso queira implementar por si só, use o exemplo no arqquivo TestServer.php.
php main.php