2011-10-02 13 views
5

estoy empezando a leer sobre websockets, pero no puedo encontrar un buen servidor de WebSocket y fácil de programar algunos ejemplos ...fácil de programar WebSocket servidor

Soy un principiante, y don No necesito un servidor que admita una gran concurrencia, solo quiero probar algunos ejemplos ...

¿Alguna Ayuda?

Gracias!

+0

¿Qué es exactamente lo que quieres hacer? – bksi

+0

algunas pruebas, como un chat, una transmisión de datos ... solo para probar los websockets desde el lado del cliente ... – Andres

+0

@bksi, ese ejemplo es un servidor de socket. WebSockets es un protocolo con un handshake y un marco de datos específicos. – kanaka

Respuesta

2

Tenga en cuenta que los websockets son nuevas tecnologías. El borrador del protocolo más reciente acaba de ser enviado para convertirse en el estándar real. Opera ni siquiera es compatible con el protocolo más reciente y Microsoft está muy rezagado (se dice que una implementación parcial estará disponible en la versión 10 de MSIE). Chrome lo admite en una versión de desarrollo. Firefox lanzó recientemente su versión 7 que lo admite. No se sorprenda si necesita formar parte de la "comunidad de desarrollo" como uno de los primeros en adoptar: es decir, abrocharse las herramientas a medida que maduran y los tutoriales más abundantes.

Puede seguir my blog. Estoy creando algo que parece que es justo lo que estás buscando y se distribuirá gratis a los desarrolladores. El tiempo puede ser bueno, a pesar de que todavía no está listo para la distribución. Se integrará con partes del llamado marco HLL que facilitará el desarrollo de las aplicaciones. También me gustaría hacer posible el desarrollo de componentes de aplicaciones de back-end utilizando script, incluido JavaScript. Ya he hecho algo de trabajo sobre eso en el marco de HLL.Hay una demostración de trabajo y puede descargar el cliente dhtml/javascript y pronto un cliente que no es del navegador y que también puede usar para crear componentes de la aplicación. El servidor, construido en puro Sun (Oracle) Java, funciona igual de bien tanto en Linux como en Windows. Como también proporcionaría el motor de scripting, los componentes de la aplicación escritos en script también serían portátiles.

El servidor websocket admite la última versión del protocolo propuesto, que ahora se ha enviado para convertirse en el estándar de websocket real. La demostración se ejecutará en Chrome dev-channel (también conocido como Chromium) 14 o posterior. Además, Firefox 7 que ya ha sido lanzado (ya no está en Beta).

+0

buen trabajo ... realmente interesante ... ¿Qué tan difícil fue programar el apretón de manos? Porque realmente estoy empezando a considerar hacer mi propio servidor pequeño, muy básico y pequeño, porque solo quiero enviar algo y recibirlo de los clientes ... No necesito alta simultaneidad o algo así ... Entonces, ¿qué tan difícil fue establecer la conexión? – Andres

+0

Puede leer mi respuesta a eso, en respuesta a mi propia pregunta, muy similar a la suya cuando comencé en el servidor websocket: http://stackoverflow.com/questions/6122456/simple-java-javascript-start -on-websockets/7336944 # 7336944 –

+0

BTW: HLL (incluido el servidor websocket) está diseñado para ser rápido y ligero. Lo he mantenido como un requisito todo el tiempo. Pero también tendré una respuesta cuando algunas aplicaciones deban escalarse para manejar cargas de tráfico muy grandes. (No estoy seguro de que mi versión actual lo hará, aunque tal vez? No ha sido probado para eso.) –

0

Si quiere un servidor WebSocket escrito en JavaScript que sugiero que mire en Socket.IO. Es muy simple de usar, y hay mucha documentación y ejemplos que puedes encontrar en línea.

Si quieres jugar con un servidor WebSocket de bajo nivel y JavaScript no es un requisito, puedes consultar mi proyecto basado en python websockify. El módulo websocket.py es un marco de servidor WebSocket genérico. Hay algunos ejemplos simples de su uso en el directorio tests. Websockify se basa en websocket.py para crear un websocket bastante sofisticado para el puente/proxy de socket sin procesar.

+0

'Socket.IO' no es un servidor WebSocket: es una biblioteca de comunicación de socket de red genérica que puede usar WebSockets como _transport_ si son compatibles. – Alnitak

+0

@Alnitak. En realidad, Socket.IO ** es ** un servidor WebSocket. Sí, no es solo un servidor WebSocket (Apache es un servidor web a pesar de que puede configurarse para servir a otros protocolos, como FTP). Y sí, puede configurarlo para usar transportes alternativos como reembolsos, pero el transporte por defecto/prioridad es WebSockets. Y la API es similar a la API de WebSockets (y de muchas maneras se basa en ella) pero la amplía con la gestión de sesión y otras sutilezas. – kanaka

+0

, ese es mi punto: debe usar el objeto especial 'Socket.IO' del cliente y su API. No son WebSockets "puros": no se puede abrir una URL 'ws: //.../' directamente en un servidor 'Socket.IO' y se espera que la API WebSocket estándar funcione sobre ella. – Alnitak

0

He tenido buenos resultados con node.ws.js.

Tenga en cuenta que es (temporalmente) incompatible con Chrome 14, porque Chrome ahora ha implementado la última versión de la especificación IETF Hybi, y node.ws.js aún no se ha puesto al día.

Funciona bien con todas las versiones de Safari, incluso Mobile Safari.

+0

Por lo que puedo decir, node.js está bastante retrasado en su compatibilidad con los protocolos actualizados. ¿Cierto? (hybi-6?) También se describe como un servidor http "compatible con websocket" en lugar de un servidor websocket. No estoy seguro de lo que eso significa. https://github.com/guille/node.websocket.js/ –

1

El marco de JavaScript del lado del servidor más popular es NodeJS, funciona mejor en Linux actualmente con una versión de Windows en desarrollo.

http://nodejs.org/

Siga las instrucciones de instalación aquí:

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

Una vez que haya instalado Nodo y NPM instalar el paquete socket.io:

NPM instalar socket.io

Luego visita http://socket.io/ para una introducción a la API cuando Puede ver el JavaScript del lado del servidor y el JavaScript del lado del cliente.

+0

pero el problema con socket.io es que usa una API especial del lado del cliente, necesito/quiero usar la estándar ... – Andres

+0

As Hasta donde yo sé, node.js está bastante retrasado en su apoyo a los protocolos actualizados. ¿Cierto? (hybi-6?) También se describe como un servidor http "compatible con websocket" en lugar de un servidor websocket. No estoy seguro de lo que eso significa. github.com/guille/node.websocket.js –

+0

no hay soporte directo para WebSockets en 'node.js' en sí mismo - el soporte mencionado aquí y en mi respuesta son bibliotecas de terceros. – Alnitak