में बहुत सरल सर्वर एक आकलन के रूप में हमें कुछ ग्राहकों के साथ सी में बहुत सरल सर्वर लागू करना होगा। विचार यह है कि सिस्टम वी आईपीसी कतारों का उपयोग करके हम एक कतार बनाते हैं जहां ग्राहक पंजीकृत होते हैं और फिर प्रत्येक क्लाइंट के लिए संदेशों के साथ एक कतार होती है। मैं सर्वर भाग के बारे में थोड़ा सोच रहा हूँ। हर समय अंतराल मैं हर पंक्ति की जाँच करें और मुझे क्या करना है, या शायद मैं सर्वर है कि कतारों की कम से कम एक के लिए तैयार है सूचित करने के लिए संकेतों का उपयोग करना चाहिए कि क्या करना के लिएसी
while(1)
{
//some queue using code
sleep(100);
}
तो: मैं कुछ इस तरह होना चाहिए प्रबंधित किया जाना
सामान्य सर्वरों में यह कैसे किया जाता है, क्या उनके पास कुछ समय अंतराल होता है जिसके बाद वे जो भी करने की ज़रूरत होती है उसे जांचते हैं या ऐसा करने का अधिक उचित तरीका है?
यह एक बहुत ही बुनियादी जवाब है, और परिभाषाओं और प्रोटोटाइप की जरूरत है जगह में हो सकता है, लेकिन है कि आप एक बुनियादी का चयन करें, उदाहरण देना चाहिए:
सी में विशिष्ट नेटवर्किंग कोड आमतौर पर ['select()'] (http://stackoverflow.com/questions/4171270/select-function-in-socket-programming) जैसे कुछ के साथ किया जाता है, जो घटना-आधारित है । यहां एक बहुत अच्छी मार्गदर्शिका है (कम से कम जब मैंने इसका इस्तेमाल किया): http://beej.us/guide/bgnet/ – birryree
क्या() फ़ंक्शंस सिस्टम वी कतारों के आईडी के साथ काम करता है? – Andna
मुझे इसके बारे में निश्चित नहीं है (मैंने शायद 7 वर्षों में सिस्टम वी सामान को छुआ नहीं है), लेकिन ऊपर दिए गए मार्गदर्शिका का हिस्सा सिस्टम वी क्यू के उपयोग पर भी चर्चा करता है: http://beej.us/guide /bgipc/output/html/multipage/mq.html हालांकि मैं आपके मामले में सोचता हूं, आप क्या करेंगे, क्लाइंट कनेक्ट हैं और अपने सॉकेट/डिस्क्रिप्टर पर चयन करते हैं, और उनके लिए कतार प्रबंधित करते हैं ('select()' के बजाय - कतार में आईएनजी)। – birryree