2011-10-02 2 views
5

sto iniziando a leggere su WebSockets, ma non riesco a trovare un buon server WebSocket e facile da programmare alcuni esempi ...facile da programmare WebSocket Server

Sono un principiante assoluto, e io don Ho bisogno di un server che supporti una grande concorrenza, voglio solo qualcosa per provare alcuni esempi ...

Qualsiasi aiuto ??

Grazie !!

+0

Che cosa vuoi fare esattamente? – bksi

+0

alcuni test, come una chat, uno streaming di dati ... solo per provare i websocket dal lato client ... – Andres

+0

@bksi, quell'esempio è un server socket. WebSockets è un protocollo con uno specifico handshake e frame di dati. – kanaka

risposta

2

Ricordare che le web socket sono una nuova tecnologia. Il progetto di protocollo più recente è appena stato presentato per diventare lo standard attuale. Opera non supporta ancora l'ultimo protocollo e Microsoft è molto indietro (un'implementazione parziale detta essere disponibile nella versione 10 MSIE). Chrome lo supporta in una versione di sviluppo. Firefox ha recentemente rilasciato la versione 7 che la supporta. Non sorprenderti se hai bisogno di entrare a far parte della "comunità di sviluppo" come uno dei primi ad adottarlo: ad esempio, avventurandoti mentre gli strumenti diventano maturi e le esercitazioni più abbondanti.

È possibile seguire my blog. Sto creando qualcosa che sembra proprio quello che stai cercando e sarà distribuito gratuitamente agli sviluppatori. Il tempismo potrebbe essere buono, anche se non è ancora pronto per la distribuzione. Sarà integrato con parti del cosiddetto framework HLL che renderà le applicazioni più facili da sviluppare. Mi piacerebbe anche rendere possibile lo sviluppo di componenti applicativi di back-end usando lo script, incluso JavaScript. Ho già lavorato su questo nel framework HLL.C'è una dimostrazione di lavoro ed è possibile scaricare il client dhtml/javascript e presto un client senza browser che è possibile utilizzare anche per creare componenti dell'applicazione. Il server, costruito in puro Sun (Oracle) Java, gira ugualmente bene sia su Linux che su Windows. Poiché fornirebbe anche il motore di scripting, i componenti dell'applicazione scritti nello script sarebbero anche portatili.

Il server WebSocket supporta l'ultima versione del protocollo proposto, che è stato ora presentato per diventare lo standard websocket effettivo. La demo verrà eseguita su Chrome dev-channel (noto anche come Chromium) 14 o versioni successive. Inoltre, Firefox 7 che è stato ora rilasciato (non più in Beta).

+0

bel lavoro ... davvero interessante ... Quanto è stato difficile programmare la stretta di mano ?? Perché sto davvero iniziando a prendere in considerazione di creare il mio piccolo, molto semplice, piccolo server, perché voglio solo inviare qualcosa e riceverlo dai clienti ... Non ho bisogno di concorrenza elevata o qualcosa del genere ... quindi quanto è stato difficile stabilire la connessione? – Andres

+0

Puoi leggere la mia risposta a questo, in risposta alla mia domanda, molto simile alla tua quando stavo per iniziare sul server websocket: http://stackoverflow.com/questions/6122456/simple-java-javascript-start -on-websockets/7336944 # 7336944 –

+0

BTW: HLL (incluso il server Websocket) è progettato per essere veloce e leggero. L'ho sempre sostenuto come requisito. Ma avrò anche una risposta quando alcune applicazioni devono essere ridimensionate per gestire carichi di traffico molto grandi. (Non sono sicuro che la mia versione attuale sarà, anche se forse? Non testata per quello.) –

0

Se si desidera che un server WebSocket sia scritto in JavaScript, suggerisco di guardare Socket.IO. È molto semplice da usare e ci sono molti documenti ed esempi che puoi trovare online.

Se si desidera giocare con un server WebSocket di basso livello e JavaScript non è un requisito, è possibile controllare il mio progetto basato su Python websockify. Il modulo websocket.py è un generico framework per server WebSocket. Esistono alcuni semplici esempi di utilizzo nella directory tests. Websockify è costruito su websocket.py per creare un websocket abbastanza sofisticato per bridge/proxy socket raw.

+0

'Socket.IO' è _non_ un server WebSocket - è una libreria di comunicazione generica con socket di rete che può utilizzare WebSockets come _transport_ se sono supportati. – Alnitak

+0

@Alnitak. In realtà, Socket.IO ** è ** un server WebSocket. Sì, non è solo un server WebSocket (Apache è un server Web anche se può essere configurato per servire altri protocolli come FTP). E sì, è possibile configurarlo per utilizzare i trasporti alternativi come fallback, ma il trasporto di default/prioritario è WebSockets. E l'API è simile all'API WebSockets (e in molti modi basata su di essa) ma la estende con la gestione delle sessioni e altre sottigliezze. – kanaka

+0

questo è il mio punto - devi usare lo speciale oggetto 'Socket.IO' sul lato client e la sua API. Non si tratta di WebSocket "puri": non è possibile aprire un URL 'ws: //.../' direttamente su un server' Socket.IO' e aspettarsi che l'API WebSocket standard funzioni su di esso. – Alnitak

0

Ho avuto buoni risultati con node.ws.js.

Nota che è (temporaneamente) incompatibile con Chrome 14, perché Chrome ha ora implementato l'ultima versione della specifica Ibi Ibi e node.ws.js non ha ancora recuperato.

Funziona bene con tutte le versioni di Safari, incluso Safari Mobile.

+0

Per quanto ne so, node.js è molto indietro nel supporto dei protocolli aggiornati. Vero? (hybi-6?) È anche descritto come un server http "websocket compatibile" piuttosto che un server websocket. Non sono sicuro di cosa significhi. https://github.com/guille/node.websocket.js/ –

1

Il framework JavaScript lato server più popolare è NodeJS, funziona meglio su Linux attualmente con una versione di Windows in fase di sviluppo.

http://nodejs.org/

Seguire le istruzioni per l'installazione qui:

https://github.com/joyent/node/wiki/Installation

Una volta installato il nodo e NPM installare il pacchetto socket.io:

npm installare socket.io

Quindi visitare http://socket.io/ per l'introduzione all'API whe è possibile visualizzare il lato server JavaScript e il lato client JavaScript.

+0

ma il problema con socket.io è che utilizza un'API speciale dal lato client, ho bisogno/voglio usare quello standard ... – Andres

+0

As Per quanto posso dire, node.js è molto indietro nel supporto dei protocolli aggiornati. Vero? (hybi-6?) È anche descritto come un server http "websocket compatibile" piuttosto che un server websocket. Non sono sicuro di cosa significhi. github.com/guille/node.websocket.js –

+0

non c'è un supporto diretto per WebSockets in 'node.js' stesso - il supporto menzionato qui e nella mia risposta sono librerie di terze parti. – Alnitak