الاقتراع الطويل Netty Nio Framework Java
-
21-09-2019 - |
سؤال
كيف يمكنني استخدام الاستخدام منذ فترة طويلة Netty إطار العمل؟ قل على سبيل المثال أنا أحضر http://localhost/waitforx
لكن waitforx
هل غير متزامن لأنه يجب أن ينتظر حدث ما؟ قل على سبيل المثال ، إنه يجلب شيئًا من قائمة انتظار الحظر (لا يمكن إلا أن تجلبها عند البيانات في قائمة الانتظار). عند الحصول على عنصر من قائمة الانتظار ، أود إرسال البيانات إلى العميل. نأمل أن يعطيني شخص ما بعض النصائح كيفية القيام بذلك.
شكرا جزيلا
المحلول
يمكنك كتابة رأس استجابة أولاً ، ثم إرسال الجسم (المحتوى) لاحقًا من موضوع آخر.
void messageReceived(...) {
HttpResponse res = new DefaultHttpResponse(...);
res.setHeader(...);
...
channel.write(res);
}
// In a different thread..
ChannelBuffer partialContent = ...;
channel.write(partialContent);
نصائح أخرى
يمكنك استخدام Netty Socketio مشروع. إنه تنفيذ Socket.io خادم مع دعم الاقتراع الطويل. على جانب الويب يمكنك استخدامه عميل Socket.io JavaScript lib.
يمكنك أيضًا القيام بما يلي في [SFNRPC]: http://code.google.com/p/sfnrpc
Object object = RPCClient.getInstance().invoke("#URN1","127.0.0.1:6878","echo",true,60,"", objArr,classArr, sl);
الأسباب الحقيقية يتزامن التواصل.