चिंताओं आप कई उपयोगकर्ताओं (& सर्वर) कैसे अपने WebSocket बुनियादी ढांचे (सर्वर [एस]) पैमाने पर होगा के साथ सेट एक जटिल आवश्यकता है, तो विशेष रूप से प्रसारण के साथ?WebSocket क्षमता, प्रसारण
बेशक, प्रसारण किसी भी WebSocket कल्पना का हिस्सा नहीं है, लेकिन यह भी बुनियादी चैट उदाहरण (यानी नमस्ते WebSocket के लिए दुनिया) में है।
क्लाइंट साइड समाधान (नए डेटा के लिए पूछ) अभी भी WebSockets 'कम विलंबता और अपेक्षाकृत सस्ते (http headerless) प्रकृति के साथ सर्वर साइड (प्रसारण) समाधान की तुलना में अधिक विश्वसनीय लगता है।
संपादित करें:
ठीक है, लगता है कि आप जो भी हो सकता है WebSocket कार्यान्वयन के साथ अपने सभी ajax कोड बदलना चाहते हैं कि इतने सारे विभिन्न संदर्भों के भीतर इतने सारे कनेक्शन। यदि आप प्रसारण के लिए हर संभावित परिदृश्य का ट्रैक रखना चाहते हैं तो यह आपके सिस्टम में भारी जटिलता जोड़ता है।
कम (नेटवर्क/धागा आदि) के स्तर का कार्यान्वयन सुझाव क्योंकि इसका मतलब है कि आप सामान्य http सर्वर के विपरीत एक विशेष सर्वर कोड करने के लिए है, समस्या समाधान नहीं का हिस्सा भी हैं।
इसके अलावा, प्रसारण तालिका जो आसानी से पैमाने पर नहीं कर सकते करने के लिए स्टेटफुल प्रकृति के कुछ प्रकार लाता है। अधिक सर्वर जोड़ने और संतुलन लोड करने के बारे में सोचें।
आईएमएचओ, "यह जानकर कि सभी ग्राहक कौन हैं" सर्वर साइड वेबसाइकिल विकास में इतना आसान नहीं है। आपको अपने संदर्भ में सभी को कुशलता से ट्रैक रखना होगा और एक से अधिक सर्वर होने से इसे और अधिक जटिल बना दिया जाएगा। आईएमओ, नए डेटा के लिए पूछना अधिक स्केलेबल है क्योंकि आपके सर्वर कार्यान्वयन को ग्राहकों के बारे में नहीं पता है ताकि आप आसानी से नए सर्वर जोड़ सकें। और फिर, यह वास्तव में बैंडविड्थ का अपशिष्ट नहीं है यदि आप इसे छोटा रखते हैं और आप http हेडरलेस वेबस्केट के साथ कर सकते हैं। –
कोई फर्क नहीं पड़ता कि आप क्या करते हैं, सर्वर को ग्राहकों के बारे में पता होना चाहिए क्योंकि आपको खुले सॉकेट की सूची रखना है। खुले सॉकेट की एक सूची के बिना, आप उनसे आने वाले डेटा को सुनने में सक्षम नहीं होंगे (उदाहरण के लिए आप नहीं जानते होंगे कि फाइल डिस्क्रिप्टर की सूची 'चयन' या 'एपोल' फ़ंक्शंस' तक पहुंचने के लिए)। मुझे लगता है कि आने वाले और आउटगोइंग डेटा के लिए आपको बफर का ट्रैक रखने की भी आवश्यकता है। आप सिर्फ खुले टीसीपी/आईपी कनेक्शन के बारे में नहीं भूल सकते हैं। चूंकि आप वैसे भी उस सूची का ट्रैक रखते हैं, यदि आवश्यक हो तो उस सूची में अपने कुछ पहचान डेटा को जोड़ना मुश्किल नहीं होना चाहिए। –
आप लगभग सत्र और सॉकेट अवधारणाओं को मिला रहे हैं; पहला एक आवेदन स्तर है और बाद वाला नेटवर्क स्तर है जैसा आप जानते हैं। व्यवहार में आप उस गहरे जाना नहीं चाहते हैं, न ही मैं। आईएमएचओ, आवेदन स्तर में इस समस्या को सोचना बेहतर है। –