Domanda

Come posso fare a lungo polling utilizzando Netty quadro? Diciamo per esempio prelevo http://localhost/waitforx

ma waitforx è asincrona perché deve aspettare per un evento? Dire per esempio si va a prendere qualcosa da una coda di blocco (può recuperare solo quando i dati in coda). Quando si ottiene elemento dalla coda Vorrei inviare dati al client. Speriamo che qualcuno mi può dare qualche consiglio su come fare questo.

Grazie

È stato utile?

Soluzione

Si potrebbe scrivere un'intestazione di risposta prima, e poi inviare il corpo (contenuto) seguito da un altro thread.

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

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

Altri suggerimenti

È possibile utilizzare Netty-socketio progetto. E 'implementazione di Socket.IO server con il supporto di polling lungo. Sul lato web è possibile utilizzare Socket.IO cliente javascript lib.

Si potrebbe anche fare quanto segue in [sfnrpc]: http://code.google.com/p / sfnrpc

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

La vera comunicazione cause sia sincrono.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top