Pregunta

¿Cómo puedo hacer a largo sondear mediante Netty marco? Digo, por ejemplo, voy a buscar http://localhost/waitforx

waitforx pero es asíncrona, ya que tiene que esperar para un evento? Digamos por ejemplo que va a buscar algo de una cola de bloqueo (sólo puede traer cuando los datos de la cola). Al conseguir elemento de la cola me gustaría enviado datos a cliente. Con suerte alguien me puede dar algunos consejos de cómo hacer esto.

Muchas gracias

¿Fue útil?

Solución

Se puede escribir un encabezado de respuesta en primer lugar, y luego enviar el cuerpo (contenido) después de otro hilo.

void messageReceived(...) {
    HttpResponse res = new DefaultHttpResponse(...);
    res.setHeader(...);
    ...
    channel.write(res);
}

// In a different thread..
ChannelBuffer partialContent = ...;
channel.write(partialContent);

Otros consejos

Puede utilizar netty-socketio proyecto. Es implementación de Socket.IO servidor con la compatibilidad del sondeo de largo. Por el lado web se puede utilizar Socket.IO cliente Javascript lib.

También puede hacer lo siguiente en [sfnrpc]: http://code.google.com/p / sfnrpc

Object object = RPCClient.getInstance().invoke("#URN1","127.0.0.1:6878","echo",true,60,"", objArr,classArr, sl);

El verdadero causas que la comunicación sea sincrónica.

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