Pregunta

Quiero crear servidores sencilla que tiene una baja carga. El objetivo es dar a algunos clientes el acceso a algunas funciones de JavaScript implementado en Java a través de WebSockets. Busco a la mejor biblioteca de usar para que - debe ser sencillo, robusto, etc Ahora considero 3 alternativas - jWebSocket - embarcadero - Netty ¿Que es lo mejor? O puede ser algo más?

Gracias de antemano

¿Fue útil?

Solución

jWebSocket ahora incluye el embarcadero 8,0 motor incluyendo SSL e incluye muchos que tienen buena-a-en la parte superior de la misma. Proporciona multi-navegador y multiplataforma clientes compatibles incluso más aplicaciones móviles por ejemplo, bajo Android, Symbian y BlackBerry. El servidor se puede extender fácilmente con plug-in y ya incluye muchos de ellos (por ejemplo para la autenticación / Autorization, JDBC, SMTP, XMPP / Jabber, RPC, Twitter, Filesharing, chat, etc.). Sólo echa un vistazo ... http://jwebsocket.org . Mirando hacia adelante a su regeneración.

Saludos Alex

Otros consejos

Me gustaría ir con probadas servidores de servlets Java: amarre o resina. La ambos se han extendido a WebSockets mango:

embarcadero WebSockets

Resina WebSockets

Mi elección personal sería embarcadero, ya que es muy sencillo de utilizar y he estado utilizando como servidor incorporado en varios proyectos.

Hay también algunos nuevos niños en el bloque como Ambiente y jWebSocket , pero para los servidores que prefiero ir con una solución probada. Embarcadero y resina son también servidores de servlets genéricos, por lo que puede ir con un producto para todas sus necesidades de servir.

El PlayFramework! es la otra opción muy buena.

Para su información, Ambiente ejecuta en la parte superior de la resina, GlassFish y embarcadero. El ambiente que se libre de ser atrapado con un servidor dándole WebSocket portabilidad entre servidores WebSocket. También ofrecen una biblioteca de cliente que se puede seleccionar el mejor transporte en caso de WebSocket no es compatible con el navegador. Así que no se puede comparar con embarcadero Ambiente o ṛṣīn

Tome un vistazo a Ambiente . Aquí es un artículo sobre WebSocket y la atmósfera.

Mientras que valoro las implementaciones de JWebsockets y Autobahn mucho, prefiero Ambiente.

Ramp-Up :: tiempo de aceleración es baja. François Arcand pone mucho esfuerzo en las pruebas y ejemplos, ayudando a todos a victorias rápidas Achived. (Y no tengo ni idea de por qué él es capaz de responder de manera rápida a cualquier pregunta arquitectónicas I Rise. Impresionante.)

Mantenimiento Perspectiva :: Para mí, el mantenimiento es fundamental, si un programa va más allá de versión principal 1.0.0. El proyecto se mantiene a un nivel de Maven POM-superior con una jerarquía bien construidos. Previene incompatibilidad biblioteca. Las bibliotecas son referencia en el nivel correcto. Eso está bien hecho.

Técnico / Funcional Perspectiva :: Ofrece una biblioteca de cliente Java SE (wasync) que puede hacer cualquiera de comunicación WebSocket nativa (onMessage) o basarse en las anotaciones Jersey REST (@Path). Posteriormente esto hace que sea tan simple como se pone con el beneficio de mantener una conexión abierta para las suscripciones y las llamadas a procedimiento remoto (RPC populares) de paradigma. Es un intento común de fusionar esos dos paradigmas. Ver también http://wamp.ws/ , que se dirige hacia el mismo enfoque. Además, ofrece la biblioteca para establecer las propiedades de calidad de servicio como la robustez (por ejemplo, en caso de que un cliente se desconecta) y fiabilidad (almacenamiento en caché de los mensajes no entregados). Esto es grande para el software profesional de arnés.

Tal vez usted debe tratar Erizapúas servidor ? Usando Erizapúas, es posible elegir entre varios motores de WebSockets, como embarcadero, Netty y Tomcat. Usted puede tener servidor independiente, así como la aplicación Web que utiliza WebSockets (el embarcadero y Tomcat 7). Erizapúas utiliza Spring Framework. Si ha trabajado con marcos web como Struts, rayas o jugar !, que será muy fácil para que usted pueda comenzar. Por supuesto, Erizapúas tiene su propia biblioteca de cliente JavaScript para el desarrollo aún más fácil.

La revelación completa:. Soy uno de los co-creadores de Erizapúas servidor

También me gustaría añadir vert.x a la lista. Se puede websockets servidor y SockJS (emulación WebSocket cuando el navegador no los admite).

Actualización:
Undertow http://undertow.io también soporta websockets.

Sigue mi blog. Voy a estar listo para en algún lanzamiento en un futuro no muy lejano futuro. De peso ligero ha sido puesta de relieve por toda la cosa - pero también es rápida. No sé todavía lo bien que se elevará a cargas más altas. Pero he estado corriendo la demo desde hace un tiempo relativamente baja carga y lo que tengo ha funcionado bien. (Voy a probar cargas más pesadas tarde y asegúrese de que se puede intensificó.)

http://highlevellogic.blogspot.com/2011/09/ WebSocket-server-demonstration_26.html

Si usted está buscando para la infraestructura alrededor de la gestión de mensajes, el usuario agrupación ( "cuartos"), y la sincronización de datos ( "variables compartidas"), es posible que desee considerar la Plataforma Unión:

http://www.unionplatform.com

[La revelación completa: Soy uno de los co-creadores de la Unión]

¿Por qué no acaba de escribir su aplicación en un estándar abierto como JMS, y dejar que los clientes se sientan en el bus JMS como clientes de mensajería? El punto de websockets es traer cualquier protocolo TCP nativo directamente al cliente en lugar de convertirlo en su extremo posterior a http petición / respuesta.

Sus servicios de back-end sería hablar con un agente de JMS como ActiveMQ, y sus clientes hablar AMQP en el navegador a través de una API Javascript que se parece a la API de JMS en Java. Todo lo necesario para que sea un WebSocket puerta de entrada, por ejemplo Kaazing tiene una puerta de entrada tal, lo único que hace es dirigir su tráfico TCP JMS a los clientes web más websockets. También proporcionan abanico de salida de manera que no sobrecargar el bus JMS, es decir, sólo tiene que utilizar un puñado de conexiones al corredor para descargar un millón de conexiones de cliente navegador.

El resultado final es que usted no necesita atarse a ninguna plataforma específica. Stick con los estándares, de esa manera usted tiene 100% de la libertad de extraerse componentes como los cambios de entorno.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top