2014-04-07 4 views
7

मैं दूरदराज के आईपी जाँच करने के लिए है और पोर्ट उपलब्ध है या नहीं.अगर इसकी उपलब्ध है यह प्रारंभिक हालत में आना चाहिए नहीं उपलब्ध अगले form.If पर ले जाने की कोशिश की इसरिमोट आईपी और पोर्ट की जांच कैसे करें?

while (true) 
{ 
    IPGlobalProperties ipProperties = IPGlobalProperties.GetIPGlobalProperties(); 
    IPEndPoint[] ipEndPoints = ipProperties.GetActiveTcpListeners(); 
    ------- 
    ------- 
    ------- 
} 

मैं कर रहा हूँ का उपयोग कर जाएगा उदाहरण कोडिंग.आईट दिखा रहा है स्थानीय आईपी और बंदरगाह की जांच कर रहा था और अगले फॉर्म पर जा रहा था। यह स्थानीय बंदरगाह की जांच करेगा और आईपी उपलब्ध होगा। अगर पोर्ट और आईपी उपलब्ध नहीं है तो यह प्रारंभिक चरण में आ जाएगा और यह ठीक काम कर रहा था। रिमोट पोर्ट और आईपी में जांच करनी है।

उत्तर

23

यह पता लगाने के लिए कि क्या सिस्टम चालू है और कनेक्ट है, Ping कक्षा का उपयोग करें। यह पता लगाने के लिए कि PortScanner का उपयोग करें, यह जांचने के लिए कि पोर्ट खुला है या नहीं। आगे पढ़ने और अन्वेषण के लिए इन लिंक को जांचें।

http://msdn.microsoft.com/en-us/library/system.net.networkinformation.ping%28v=vs.110%29.aspx

http://social.msdn.microsoft.com/Forums/vstudio/en-US/8e4410bd-307f-4264-9575-cd9882653945/help-with-portscanner-in-c?forum=csharpgeneral

या

एक बहुत साफ विधि यहाँ

public static bool PingHost(string _HostURI, int _PortNumber) 
{ 
    try 
    { 
     TcpClient client = new TcpClient(_HostURI, _PortNumber); 
     return true; 
    } 
    catch (Exception ex) 
    { 
     MessageBox.Show("Error pinging host:'" + _HostURI + ":" + _PortNumber.ToString() + "'"); 
     return false; 
    } 
} 
+6

धन्यवाद, कि मैं वास्तव में क्या देख रहा था था! सिर्फ एक विचार: 'टीसीपी क्लाइंट 'लागू' आईडीस्पोजेबल 'ताकि आप इसे इस तरह से कर सकें:' (टीसीपी क्लाइंट क्लाइंट = नया टीसीपी क्लाइंट (_adress, पोर्ट)) { सत्य वापस लौटें; } ' – CeOnSql

+0

यूडीपी सर्वर के मामले में, हम कैसे सुनिश्चित करते हैं कि सर्वर बंद हो गया है और पोर्ट पर सुन रहा है। – surega

संबंधित मुद्दे