Netty largo de votación marco nio java
-
21-09-2019 - |
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
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.