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