Come utilizzare i socket in JavaScript \ HTML? [chiuso]
-
20-09-2019 - |
Domanda
Come utilizzare i socket in JavaScript \ HTML?
Può essere utilizzando alcuni HTML5 cool?
Biblioteche? Tutorial? Articoli Blog?
Soluzione
Specifiche tecniche:
Articoli:
Tutorial:
Biblioteche:
- Controlla questo SO inviare html5 websocket bisogno di server? , si collega a https://kaazing.com/download
Altri suggerimenti
Come utilizzare i socket in JavaScript / HTML?
Non c'è possibilità di utilizzare i socket general-purpose in JS o HTML. Sarebbe un disastro di sicurezza, per uno.
C'è WebSocket in HTML5. Il lato client è abbastanza banale:
socket= new WebSocket('ws://www.example.com:8000/somesocket');
socket.onopen= function() {
socket.send('hello');
};
socket.onmessage= function(s) {
alert('got reply '+s);
};
Avrete bisogno di un applicazione presa specializzata sul lato server per prendere le connessioni e fare qualcosa con loro; non è qualcosa che normalmente essere facendo da interfaccia di scripting di un server web. Tuttavia è un relativamente semplice protocollo ; il mio Noddy endpoint Python SocketServer-based è stato solo un paio di pagine di codice.
In ogni caso, in realtà non esiste, ancora. Né le specifiche JavaScript lato né le specifiche di trasporto della rete sono inchiodati in giù, e non i browser supportano.
È possibile, tuttavia, utilizzare Flash, se disponibile per fornire lo script con un fallback fino WebSocket è ampiamente disponibile. di Gimite web-presa-js è un esempio di tale connessione. Tuttavia si sono soggetti alle stesse limitazioni di Flash Prese allora, vale a dire che il server deve essere in grado di sputare fuori una politica dei domini sul richiesta al porto presa, e spesso si hanno difficoltà con i proxy / firewall. (Prese Flash vengono effettuate direttamente;. Per qualcuno senza accesso IP pubblico diretto che può ottenere solo della rete attraverso un proxy HTTP, che non funziona)
A meno che non si ha realmente bisogno bassa latenza di comunicazione a due vie, si sta meglio attaccare con XMLHttpRequest
per ora.