मेरे पास एक ऐसा एप्लिकेशन है जिसे मैंने विरासत में मिला है जो हमारे इन-हाउस टेस्ट उपकरण से यूडीपी प्रसारण के लिए पोर्ट 7001 पर सुनता है, और मैंने हाल ही में एक और एप्लीकेशन अपडेट किया है जिसे एक ही काम करने की आवश्यकता है। दोनों अनुप्रयोग एक ही कंप्यूटर पर सह-अस्तित्व में सक्षम होना चाहिए।मैं कैसे पता लगा सकता हूं कि विंडोज में एक टीसीपी/आईपी पोर्ट को कौन सा प्रोग्राम सुन रहा है?
वर्तमान में, जब मेरा हाल ही में अपडेट किया गया एप्लिकेशन यूडीपी प्रसारण सुनने के लिए बंदरगाह से जुड़ने का प्रयास करता है और विफल रहता है तो यह रिपोर्ट करता है कि बंदरगाह उपलब्ध नहीं है और सुझाव देता है कि विरासत में ऐप शायद चल रहा है। मैं यह पता लगाने के लिए अपना आवेदन कैसे प्राप्त कर सकता हूं कि वास्तव में उस पोर्ट पर कौन सा एप्लिकेशन सुन रहा है? मैंने Google खोज की है और यहां तक कि इस साइट को भी खोजा है लेकिन अब तक मैं कमांड लाइन पर टास्क मैनेजर, टीसीपीवीव या नेटस्टैट का उपयोग करने के अलावा कुछ भी नहीं ढूंढ पाया।
मैं ऐसी तकनीक पसंद करूंगा जो या तो विंडोज एपीआई या विंडोज सिस्टम COM घटक का उपयोग करे, क्योंकि दोनों एप्लिकेशन वीबी 6 में लिखे गए हैं। (मुझे पता है, मुझे पता है, लेकिन मुझे इन अनुप्रयोगों को बनाए रखना चाहिए क्योंकि वे मिशन महत्वपूर्ण हैं।) हालांकि, अगर मेरे नए विकास प्रयासों में मुझे इसकी ज़रूरत है तो एक .NET समाधान भी उपयोगी होगा।
GetTcpTable2 आपको एक प्रक्रिया आईडी प्राप्त कर सकता है। इसी तरह का सवाल यहां [लिंक] (http://stackoverflow.com/questions/13295277/check-on-avaiable-port-using-wmi-win32-class) – user2773289
पता नहीं है कि आप इसका उपयोग कर सकते हैं या नहीं, लेकिन एमएसडीएन कुछ नमूना कोड के साथ उपरोक्त प्रविष्टि http://msdn.microsoft.com/en-us/library/windows/desktop/bb408406(v=vs.85).aspx –
पर है, आप यह जानकारी WMI के माध्यम से भी प्राप्त कर सकते हैं। बहुत आसान बात है। – EJP