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