यदि मैं आपको सही ढंग से समझ रहा हूं, दुर्भाग्य से यह आसान नहीं होगा क्योंकि आपको अपनी इच्छित नौकरी करने के लिए नेटवर्क एडेप्टर वर्चुअलाइज करने की आवश्यकता है। एक आईपी पता एक शून्य (भौतिक या तार्किक) से बंधे होते हैं, ऐसा कुछ नहीं जो उच्च परत कोड में निर्दिष्ट किया जा सकता है। वीएमवेयर वर्कस्टेशन में विजुअल स्टूडियो के लिए एक प्लगइन शामिल है, इसलिए शायद आप इसे कई वर्चुअल एनआईसी उत्पन्न करने के लिए उपयोग कर सकते हैं और उन्हें आईपी प्रोग्रामेटिक रूप से असाइन कर सकते हैं, लेकिन अन्यथा आपको वर्चुअल नेटवर्क कार्ड ड्राइवर (शायद एक गैर-नेटवर्क्स भाषा में) लिखने की आवश्यकता है , यदि आप मौजूदा वर्चुअलाइजेशन तकनीक का उपयोग नहीं करते हैं। आप एक आईसी पते पर कई आईपी पते ढेर कर सकते हैं, लेकिन इसके साथ संचार करने वाले कंप्यूटर को पता चलेगा कि वे सभी एक ही नेटवर्क इकाई हैं। यदि यह आपके साथ ठीक है, तो बस अपने पास मौजूद सभी आईपी जोड़ें जो आप चाहते हैं।
आपकी क्वेरी के दूसरे भाग पर, क्योंकि आप चाहते हैं कि आईपी प्राप्त करने और डेटा भेजने में सक्षम हों, उनके पते को रूट करने योग्य होना होगा, इसलिए आप कोई पुराना आईपी पता नहीं चुन सकते हैं। यदि आप एनएटी दीवार के पीछे ठीक हैं, तो आप उन्हें संबोधित करने के लिए 10.x.y.z का उपयोग कर सकते हैं, लेकिन नेट के बाहर वे सभी बाहरी दुनिया में एक ही सार्वजनिक आईपी का उपयोग कर रहे हैं। 50k सार्वजनिक रूप से रूटेबल आईपी पते का पर्दाफाश करने के लिए, आपको पहले पंजीकरण करना होगा और उन्हें खरीदना होगा।
आखिरकार आप आईसीपी/पिंग करने के लिए टीसीपी क्लाइंट का उपयोग नहीं कर सकते हैं, क्योंकि वे आईसीएमपी प्रोटोकॉल का उपयोग करते हैं, लेकिन इसके बजाय System.Net और System.Net.NetworkInformation Namepace का उपयोग करते हैं। यहां कुछ वीबी कोड है जो आपको इसका स्वाद देने के लिए एक पिंग भेजने के लिए है:
Imports System
Imports System.Net
Imports System.Net.NetworkInformation
Public Class Pinger
<System.Diagnostics.DebuggerNonUserCode()> _
Public Sub New()
MyBase.New()
'This call is required by the Component Designer.
InitializeComponent()
End Sub
Public Shared Function CanHostBePinged(ByVal IPAddr_DNS_OR_Host_Name As String) As Boolean
Dim p As New Ping
Dim po As New PingOptions
po.Ttl = 256
po.DontFragment = False
Dim stringOut As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDE"
Dim streamOut As Byte() = System.Text.Encoding.ASCII.GetBytes(stringOut)
Try
Dim reply As PingReply = p.Send(IPAddr_DNS_OR_Host_Name, 30, streamOut)
If reply.Status = IPStatus.Success Then
Return True
Else
Return False
End If
Catch ex As Exception
Return False
End Try
End Function
End Class
स्रोत
2012-10-30 16:32:30
मैं उत्सुक हूं कि कितने नेटवर्क कार्ड विंडोज़ समर्थन कर सकते हैं।कृपया हमें बताएं कि नेटवर्क नेटवर्क एडाप्टर जोड़ने के बाद आपकी मशीन पर सीपीयू और रैम उपयोग के साथ क्या हुआ। – Kamil
आपके पास एक ही नेटवर्क कार्ड पर एकाधिक आईपी पते हो सकते हैं। क्या आप यही पूछ रहे हैं कि कैसे करना है? – Gabe