मैं कार्यात्मक प्रोग्रामिंग देख रहा हूं और एक बिंदु से संघर्ष कर रहा हूं .. मैं बिना किसी व्यवहार्य स्थिति के निम्नलिखित कैसे कर सकता हूं?मैं एक बहु-क्लाइंट सर्वर कैसे लिख सकता हूं जिसमें उत्परिवर्तनीय स्थिति नहीं है?
कल्पना कीजिए कि मेरे पास एक सर्वर है .. और क्लाइंट कनेक्ट करने का प्रयास करते हैं .. और प्रत्येक क्लाइंट सर्वर को एक नंबर देता है और वर्तमान कुल को बताया जाता है।
अब परिवर्तनीय स्थिति के बिना सर्वर कुल नहीं रख सकता है ... इसलिए मैं सोच रहा हूं कि प्रत्येक क्लाइंट वास्तव में एक नया सर्वर बना रहा है जिसमें एक नया कुल .. या एक नया सर्वर है जो पुराने सर्वर को प्रविष्टि और संदर्भित करता है कुल गणना की जा सकती है।
लेकिन .. ग्राहक को सर्वर कैसे ढूंढता है? किसी को वर्तमान सर्वर इंस्टेंस पर पकड़ना है .. इसलिए उनके पास एक परिवर्तनीय चर 'सर्वर' है।
कोई फर्क नहीं पड़ता कि मैं क्या करता हूं .. मैं हमेशा एक परिवर्तनीय चर के साथ एक उच्च दायरा के साथ समाप्त होता हूं।
विचार?
मैं यह कैसे एकाधिक अनुक्रमिक ग्राहकों के साथ काम करेंगे देख सकते हैं। क्या यह एक मल्टीकोर समानांतर प्रणाली में काम करेगा? क्या यह अनुक्रमिक होने के लिए मजबूर करता है? –
यह अनुक्रमिक होने के लिए मजबूर करता है, क्योंकि यह एक समय में केवल एक कनेक्शन को संभाल सकता है। मल्टीकोर के साथ समस्या यह है कि आप कनेक्शन (कनेक्शन) से इनकार कर सकते हैं। इसके साथ निपटने के लिए अक्सर आपके पास कुछ प्रकार का तंत्र होता है। एरलांग का तंत्र यह है कि आपके सभी ग्राहक आपके सर्वर को एक संदेश भेज दें जो प्रसंस्करण के लिए कतार में रखा जाता है। यह एकमात्र तरीका नहीं है, हालांकि मैं दूसरों से बहुत परिचित नहीं हूं। –
दिलचस्प बात यह है कि यह एक ढेर के रूप में एक परिपत्र समाधान के रूप में ही आप अपने ढेर के लिए दो ग्राहक हैं परिवर्तनशील राज्य है (यानी। एक पुशर और एक खींचने) ... क्योंकि अपरिवर्तनीय ढेर नए स्टैक का उत्पादन जब आप धक्का या पॉप ... इसलिए पुशर और पुलर दोनों एक ही कतार में बात कैसे कर सकते हैं। :) –