मैं सॉकेट प्रोग्रामिंग में बहु-क्लाइंट सुविधा का समर्थन करने के लिए एकाधिक थ्रेड बना सकता हूं; यह ठीक काम कर रहा है। लेकिन अगर 10,000 ग्राहक कनेक्ट होना चाहते हैं, तो मेरा सर्वर इतने सारे धागे नहीं बना सकता है।जावा सॉकेट प्रोग्रामिंग 10,000 क्लाइंट्स के लिए काम नहीं करता
मैं धागे का प्रबंधन कैसे कर सकता हूं ताकि मैं इन सभी ग्राहकों को एक साथ सुन सकूं?
इसके अलावा, अगर इस मामले में सर्वर किसी विशेष ग्राहक को कुछ भेजना चाहता है, तो यह कैसे संभव है?
यह पहले से ही उत्तर दिया गया है: http://stackoverflow.com/questions/592303/asynchronous-io-in-java – mparaz
नीचे कुछ महान एनआईओ गैर-अवरुद्ध सिफारिशें हैं लेकिन संक्षेप में, मुझे इसे स्पष्ट रूप से बताएं : जब आप कुछ ग्राहकों की अपेक्षा करते हैं, तो आप एक सॉकेट प्रति-थ्रेड जा सकते हैं। लेकिन जब आप 10 के ग्राहकों की अपेक्षा करते हैं, और मैं तर्क दूंगा (आई/ओ और सीपीयू लोड के आधार पर) कि यदि आप 100 से अधिक ग्राहकों की अपेक्षा करते हैं तो आपको एनआईओ वे (गैर-अवरुद्ध आईओ) जाना होगा। भले ही आपका ओएस प्रति सेकेंड 1000 बार प्रयास करता है, क्या आप 10 के ग्राहकों को संभालने का काम कल्पना कर सकते हैं? यह कई ग्राहकों के साथ अवरुद्ध सॉकेट के साथ जाने का कोई मतलब नहीं है! – Jeach