WebSockets? Recentemente ho incontrato websocket e ho ascoltato alcune cose positive ma ho trovato che html5 non è realmente disponibile in questo momento, quindi varrebbe la pena di passare alla scrittura di un MMO basato su browser in websocket e di far aggiornare i giocatori/scaricare ciò di cui hanno bisogno o usare la cometa e se il browser di qualcuno supporta le web socket; gestirlo in quel modo? qualche idea?WebSockets? È nuovo iniziare a utilizzare MMO basato su browser basato su JavaScript
risposta
Risposta: Non è troppo nuovo ed è possibile utilizzarlo ora su quasi tutti i browser.
WebKit ha avuto il supporto WebSockets per un bel po '(in pratica chiunque usando Safari o Chrome ha). A partire da iOS 4.2 I WebSocket sono stati attivati (Apple lo aveva disattivato nelle versioni precedenti). Opera 11.0 ce l'avrà (10.7 ora 11.0). Firefox 4.0 ha incluso ma disabilitato per impostazione predefinita (abilitato in about: config). Firefox 5.0 o 6.0 sarà probabilmente attivato per impostazione predefinita.
Per altri browser è possibile utilizzare web-socket-js che è un fallback basato su Flash. Funziona bene ed è facile fare il fallback automatico. È più lento di WebSocket nativi, ma ha ancora una latenza molto più bassa di AJAX/COMET.
Se Javascript è un'opzione valida per il back-end, è possibile prendere in considerazione l'utilizzo di Node e la libreria Socket.IO per il nodo. Socket.IO è principalmente una libreria lato server che supporta WebSockets (incorpora il web-socket-js falback) e vari metodi AJAX/COMET/long-poll. Il lato client di Socket.IO consente di utilizzare la stessa API sul lato server (è molto simile alla normale API WebSockets) e rileva e seleziona il trasporto ottimale. I trasporti AJAX/COMET/long poll sono utilizzati solo se il browser non ha WebSocket nativi e si sceglie di non utilizzare il fallback.
Incluso con noVNC (client VNC HTML5) è websockify che è un proxy socket WebSocket. Esistono tre implementazioni: C, python e Node. Potrebbe essere un riferimento utile per te. noVNC trasferisce grandi quantità di dati su WebSockets ed è molto sensibile alla latenza. Il fallback Flash è decisamente meno efficiente, ma ha comunque prestazioni molto utilizzabili.(Disclaimer: ho fatto noVNC)
In sintesi: l'unico posto WebSockets non è supportato in questo momento sta browser senza WebSockets nativi e senza flash (cioè iOS correnti e telefoni Android più vecchi).
Un paio di note misc:
trovo http://caniuse.com di essere miglior risorsa per HTML5 (e correlati) informazioni di supporto del browser.
HTML5 Cross-browser Polyfills è un elenco molto utile (e lungo) di shim, fallback e polyfill che aggiunge funzionalità HTML5 ai browser che non li supportano.
Secondo WebSockets:
Per il lato client, WebSocket viene implementato in Firefox 4, Google Chrome 4, Opera 10.70 e Safari 5.
modo che gli utenti avranno problemi se prova a utilizzare un browser non elencato sopra ...
È possibile utilizzare Flash Sockets per emulare WebSocket nativi su vari browser, purché siano abilitati per Flash.
Dai uno sguardo a Socket.IO. Ti permette di programmare contro un'API simile a WebSockets che funziona in modo nativo nei pochi browser che attualmente supportano WebSockets, ma torna a Flash o polling lungo nei browser più vecchi. Utilizzando un polyfill come Socket.IO, è certamente possibile iniziare a utilizzare WebSockets immediatamente.
- 1. Gioco browser basato su testo
- 2. Reindirizzamento basato su URL - JavaScript
- 3. Reindirizzamento JavaScript basato su Referente?
- 4. Esiste un editor autonomo per javascript basato su browser?
- 5. Trie basato su disco?
- 6. ZF2 è basato su MOVE?
- 7. Che cosa significa per un browser essere "basato su webkit" o "basato su gecko"?
- 8. Perché/come è tutto $() basato su jQuery?
- 9. Interprete basato su Prolog
- 10. RPG basato su terminale
- 11. Mono.WebBrowser basato su Gtk su Windows
- 12. CMS basato su CodeIgniter
- 13. perché SAML è basato sul browser
- 14. È possibile utilizzare ReST su Websockets?
- 15. Accessorio Android basato su software su Windows
- 16. Perché DropDownList.SelectedValue è basato su viewstate?
- 17. È SMTP basato su TCP o UDP?
- 18. campionamento casuale basato su gruppi
- 19. Reindirizzare Utente a sottodominio basato su IP
- 20. Qual è la differenza tra un database basato su file e un database basato su server?
- 21. Qual è la differenza tra un server basato su thread e un server basato su eventi?
- 22. Cos'è un buon emulatore di terminale basato su browser?
- 23. Come script di Firefox o qualsiasi browser basato su Mozilla
- 24. Colore bordo basato su sfondo
- 25. Un PowerShell basato su Python?
- 26. Lettore epub basato su Web utilizzando JavaScript e HTML
- 27. Routing basato su ruolo MVC
- 28. Caricamento basato su browser Amazon AWS S3 tramite POST -
- 29. Web basato su Accept intestazione
- 30. certificato ssl basato su IP
Se l'utente desidera riprodurre un MMO nelle probabilità del browser, non sta utilizzando IE – jcolebrand