Question

Comment puis-je faire à long interrogation à l'aide Netty cadre? Disons, par exemple, je vais chercher http://localhost/waitforx

mais waitforx est asynchrone, car il doit attendre un événement? Disons, par exemple, il va chercher quelque chose à partir d'une file d'attente de blocage (ne peut récupérer lorsque les données en file d'attente). Lors de l'obtention élément de file d'attente, je voudrais envoyer les données au client. Espérons que quelqu'un peut me donner quelques conseils comment faire cela.

Merci

Était-ce utile?

La solution

Vous pouvez écrire un en-tête de réponse d'abord, puis envoyer le corps (contenu) plus tard, d'autres fils.

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

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

Autres conseils

Vous pouvez utiliser Netty-socketio projet. Il est la mise en œuvre du serveur Socket.IO avec soutien de longue interrogation. Côté web, vous pouvez utiliser le client Socket.IO javascript lib.

Vous pouvez également effectuer les opérations suivantes dans [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 communication vraie causes pour être synchrone.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top