2009-11-14 9 views
6

Me gustaría saber si hay una manera de escribir un servidor de cometas en C#. Tengo un código C# que genera datos periódicamente, y quiero enviar estos datos a una aplicación Java. Entonces me gustaría convertir mi código C# a un servidor cometa. También me gustaría saber si hay algún servidor cometa implementado que nos permita conectar la aplicación C# y la aplicación java a él, para que la aplicación C# pueda pasar información a la aplicación java, a través del servidor cometa. la frecuencia de inserción de datos sería alta, pero el tamaño de un mensaje individual es muy pequeño: un valor de cadena.Implementar un servidor Comet en C#

+0

este es un trabajo de investigación individual, por lo que no puede pagar ningún producto comercial. El producto comercial 'stream hub' tiene una buena implementación de un servidor cometa, pero las funciones que necesito no están disponibles en su edición gratuita. – sura

Respuesta

5

Comencemos.

Asumo que esto es una continuación a esta pregunta: communication between Java and C#

Ésta es la aplicación para la comunicación de aplicaciones en la misma máquina con sólo cadenas como la carga útil, ¿verdad?

¿Por qué COMET? ¿Por qué no simplemente enviar cadenas terminadas nulas directamente a través de una conexión de socket? La implementación de un servidor Comet está lejos de ser trivial, y solo se usa en situaciones en las que se prohíbe una comunicación más directa (es decir, un servidor a otro). La comunicación entre Comet y la aplicación en la misma máquina sería muy compleja para una solución que se resuelve fácilmente con sockets.

3

Definitivamente se puede hacer, pero escribir un servidor de cometas en C# es una tarea bastante compleja. Hemos construido uno (WebSync) y nos tomó bastante esfuerzo. Si solo está haciendo un proyecto de investigación, puede usar la versión OnDemand, que está alojada, y tiene 10 usuarios gratuitos. En este momento, la versión del servidor no es libre, pero es bastante barato ...

Por lo que vale la pena, si se decide a rodar su propia, que vas a estar mirando a la IHttpAsyncHandler, y usted' Necesitaré hacer algo de gestión de subprocesos para tratar con los límites predeterminados de subprocesos en IIS.

+1

Si alguien lee esto, este es un producto muy bueno. Mirar dentro. No te arrepentirás. – Dested

+0

¿Se puede usar WebSync On-Demand SDK para consumir un servidor Comet como el superfeedr? http://blog.superfeedr.com/websockets-and-comet/ – superlogical

+0

Parece que tienen su propia implementación bajo el capó, por lo que no necesitaría WSOD para consumirla. WSOD podría usarse junto con esto, ciertamente, pero están construyendo su propia implementación, usando su propio protocolo; tenga en cuenta que mencionan que no hay un protocolo definido ... eso no es del todo cierto, ya que la especificación de Bayeux está ciertamente disponible. (http://svn.cometd.com/trunk/bayeux/bayeux.html). Como tal, también tendrán que tener su propio SDK. – jvenema

2

Es posible que necesite un código fuente de muestra para su implementación? PokeIn reverse ajax library era un proyecto de código abierto y los códigos fuente de las versiones anteriores todavía se pueden descargar en el sitio codeplex.

Obviamente, la última versión de la biblioteca PokeIn es una de las mejores bibliotecas para .Net framework y puede usar su edición gratuita de comunidad.

Cuestiones relacionadas