Corsi on-line

Gestire Websockets con Ratchet e PHP

In una comune Web application realizzata in PHP le connessioni tra server e client vengono chiuse una volta restituita una risorsa sotto forma di codice HTML (e non solo), in pratica il classico meccanismo Input – Output si conclude in seguito al comportamento conseguente l’esecuzione dello script. Se invece desideriamo che la connessione tra ambienti client side e server side rimanga aperta e l’interscambio di dati non venga interrotto, allora dovremmo utilizzare i Websockets e una soluzione come Ratchet.

Distribuita sotto licenza Open Source, Ratchet include un serie di componenti pronti all’uso appositamente dedicati alla realizzazione di applicazioni “stay alive” per il push:

  • IoServer per la gestione degli eventi;
  • WsServer per l’interscambio con W3C WebSocket API;
  • SessionProvider per la gestione delle sessioni;
  • WampServer per la fornitura dei pattern RPC (Remote Procedure Call) e PubSub (Publish–subscribe);
  • FlashPolicy per le procedure sostitutive di riserva (fallback) in caso di mancato supporto per la tecnologia Flash da parte dei browser;
  • IpBlackList per il blocco dei tentativi di apertura di connessione da parte di IP indesiderati.

Per poter utilizzare Ratchet sarà necessario avere lo Shell access tramite Root abilitato, inoltre, bisognerà possedere un ambiente di sviluppo o produzione basato su PHP 5.3.2 (ancora meglio se si dispone di PHP 5.4.x); da segnalare poi il fatto che l’applicazione agisce attraverso la porta numero 80, questo significa che non sarà possibile avere nello stesso server un’altra applicazione (come per esempio il Web engine Apache) che attenda le chiamate attraverso la stessa porta.

 

Post correlati
I più letti del mese
Tematiche