2012-06-05 8 views
5

Quali sono le alternative a HTTP (per XMLHttpRequest) quando si stabilisce una connessione server in JavaScript? L'unico che conosco è il WebSocket protocol (per WebSocket). Le loro varianti sicure corrispondenti https e wss inclusi.possibili protocolli web in javascript

Sarebbe possibile scegliere un protocollo arbitrario con JavaScript? Come comunichi con NTP, IMAP, UDP, ecc. -services per esempio in Node.js?

+1

L'accessibilità dei protocolli si basa sulla tecnologia utilizzata, non sulla lingua. Questo perché le possibilità con node.js sono diverse dalle possibilità nei browser che usano javascript. – moka

risposta

2

Da Node.js, puoi fare praticamente qualsiasi cosa. Per esempio. UDP è supportato direttamente (modulo dgram fornito con node.js) e npm ha una pletora di moduli di terze parti per molti altri protocolli, come SMTP, IMAP, FTP e XMPP; vedi https://github.com/joyent/node/wiki/Modules per una lista. E se non riesci a trovare un modulo pronto per il tuo protocollo preferito, puoi implementarne uno tu stesso.

Ora, quando si tratta di browser, sei molto più limitato. Quelli che hai elencato sono tutto ciò che so (ovviamente esclusi i plug-in del browser). Quindi dovresti connetterti a un server proxy con HTTP (S) o ws (s) e fare il vero protocollo da lì.

+0

E il TCP? Come mai node.js supporta 'UDP' e non' TCP'? –

+0

@ AlikElzin-kilaka [Funziona] (http://nodejs.org/api/net.html), usato solo UDP come esempio. – Tapio

+1

Ho pensato che node.js è un framework lato server - javascript in esecuzione sul lato server. Quindi questo può essere utilizzato in un browser? –