วิธีการ ping ที่อยู่ IP โดยใช้ซ็อกเก็ตใน Visual Basic .NET

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 828993 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

บทความที่มีการทีละขั้นตอนนี้อธิบายวิธีการที่ใช้ซ็อกเก็ตใน Microsoft Visual Basic .NET ping อยู่อินเทอร์เน็ตโพรโทคอล (IP) PING จะสั่งโพรโทคอลข้อความตัวควบคุมของอินเทอร์เน็ต (ICMP) ที่ใช้ในการทดสอบการเชื่อมต่อเครือข่าย เวลาตอบรับการ ping ip แอดเดรสที่เฉพาะจะคำนวณ และแสดงผล บทความนี้ใช้นั้นSystem.Net.SocketsAPI ของ Visual Basic .NET การ ping ที่อยู่ IP

ความต้องการ

บทความนี้อนุมานว่า คุณไม่คุ้นเคยกับหัวข้อต่อไปนี้:
  • การเขียนโปรแกรม โดย Visual Basic .NET
  • ซ็อกเก็ต
รายการต่อไปนี้แสดงฮาร์ดแวร์ที่แนะนำ ซอฟต์แวร์ โครงสร้างพื้นฐานของเครือข่าย และ service pack ที่คุณต้องการ:
  • Microsoft Windows 2000, Microsoft Windows XP หรือ Microsoft Windows Server 2003
  • Microsoft Visual Basic .NET

โครงสร้างแพ็คเก็ต ICMP มีการประกาศได้

icmp รองรับแพ็คเก็ตที่ประกอบด้วยข้อผิดพลาด ข้อความการควบคุม และข้อความที่ให้ข้อมูล PING คำสั่งใช้ ICMP สำหรับการทดสอบการเชื่อมต่อเครือข่าย ใช้รหัสดังต่อไปนี้ เพื่อกำหนดโครงสร้างของแพคเก็ตใช้ ICMP และวิธีการคำนวณจำนวนไบต์ในแพคเก็ตใช้ในการประกาศได้:
   Structure IcmpPacket
#Region "PUBLIC MEMBER VARIABLES"
      Dim type_message As Byte                ' Type of message.
      Dim subCode_type As Byte                ' Type of sub-code.
      Dim complement_checkSum As UInt16       ' One's complement checksum for the structure.
      Dim identifier As UInt16                ' Identifier.
      Dim sequenceNumber As UInt16            ' Sequence number.
      Dim data() As Byte                      ' Data.
#End Region


#Region "PUBLIC MEMBER METHODS"
      Public Sub Initialize(ByVal type As Byte, ByVal subCode As Byte, ByVal payload() As Byte)
         Dim index As Integer
         Dim buffer_icmpPacket() As Byte
         Dim cksumBuffer() As UInt16
         Dim icmpHeaderBufferIndex As Int32 = 0
         Me.type_message = type
         Me.subCode_type = subCode
         complement_checkSum = UInt16.Parse("0")
         identifier = UInt16.Parse("45")
         sequenceNumber = UInt16.Parse("0")
         Data = payload

         ' Declare a variable to store the total packet size.
         ' Call the Serialize method to count the total number of bytes in the packet.
         buffer_icmpPacket = Serialize()

         ' Resize a UInt16 array to half the size of the packet.
         ReDim cksumBuffer((buffer_icmpPacket.Length() \ 2) - 1)

         ' Initialize the UInt16 array.
         For index = 0 To (cksumBuffer.Length() - 1)
            cksumBuffer(index) = BitConverter.ToUInt16(buffer_icmpPacket, icmpHeaderBufferIndex)
            icmpHeaderBufferIndex += 2
         Next index

         'Call a method that returns a checksum.
         complement_checkSum = MCheckSum.Calculate(cksumBuffer, cksumBuffer.Length())
      End Sub

      Public Function Size() As Integer
         Return (8 + Data.Length())
      End Function

      ' The Serialize method converts the packet to a byte array to calculate the total size.
      Public Function Serialize() As Byte()
         Dim b_seq() As Byte = BitConverter.GetBytes(sequenceNumber)
         Dim b_cksum() As Byte = BitConverter.GetBytes(complement_checkSum)
         Dim b_id() As Byte = BitConverter.GetBytes(identifier)
         Dim index As Int32 = 0
         Dim buffer() As Byte
         ReDim buffer(Size() - 1)

         ' Serialize the structure into the array.
         buffer(0) = type_message
         buffer(1) = subCode_type
         index += 2
         Array.Copy(b_cksum, 0, buffer, index, 2)
         index += 2
         Array.Copy(b_id, 0, buffer, index, 2)
         index += 2
         Array.Copy(b_seq, 0, buffer, index, 2)
         index += 2

         ' Copy the data.
         If (Data.Length() > 0) Then
            Array.Copy(Data, 0, buffer, index, Data.Length())
         End If
         Return buffer
      End Function
#End Region
   End Structure

กำหนดคลา CPing

กระบวนการCPingคลาประกอบไปด้วยวิธีการยอมรับชื่อโฮสต์หรือ ip แอดเดรสของเซิร์ฟเวอร์เป็นการป้อนข้อมูล การ ping โฮสต์ชื่อหรือที่อยู่ IP และ จะแสดงเวลาการตอบสนอง
   ' The CPing class.
   Public Class CPing
#Region "MEMBER CONSTANTS"
      Private Const DEFAULT_TIMEOUT As Integer = 1000
      Private Const SOCKET_ERROR As Integer = -1
      Private Const PING_ERROR As Integer = -1
      Private Const ICMP_ECHO As Integer = 8
      Private Const DATA_SIZE As Integer = 32
      Private Const RECV_SIZE As Integer = 128
#End Region

#Region "MEMBER VARIABLES"
      Private _open As Boolean = False
      Private _initialized As Boolean
      Private _recvBuffer() As Byte
      Private _packet As IcmpPacket
      Private _hostName As String
      Private _server As EndPoint
      Private _local As EndPoint
      Private _socket As Socket

#End Region

#Region "CONSTRUCTORS & FINALIZER"
      Public Sub New(ByVal hostName As String)
         Me.HostName() = hostName
         ReDim _recvBuffer(RECV_SIZE - 1)
      End Sub

      Public Sub New()
         ' Set the default host name to the local host.
         Me.HostName() = Dns.GetHostName()
         ReDim _recvBuffer(RECV_SIZE - 1)
      End Sub

      Private Overloads Sub finalize()
         ' Make sure that you close the socket.
         Me.Close()
         Erase _recvBuffer
      End Sub
#End Region

#Region "MEMBER METHODS"
      ' Get and set the current host name.
      Public Property HostName() As String
         Get
            Return _hostName
         End Get
         Set(ByVal Value As String)
            _hostName = Value
            ' If the CPing object is already open, close it and then reopen it by using a new host name.
            If (_open) Then
               Me.Close()
               Me.Open()
            End If
         End Set
      End Property

      ' Get the state (open or closed).
      Public ReadOnly Property IsOpen() As Boolean
         Get
            Return _open
         End Get
      End Property

      ' Create a socket to host remote end points and local end points.
      Public Function Open() As Boolean
         Dim payload() As Byte

         If (Not _open) Then
            Try
               ' Initialize the packet.
               ReDim payload(DATA_SIZE)
               _packet.Initialize(ICMP_ECHO, 0, payload)

               ' Initialize an ICMP socket.
               _socket = New Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.Icmp)

               ' Set the server end point.
               _server = New IPEndPoint(Dns.GetHostByName(_hostName).AddressList(0), 0)

               ' Set the receiving end point as your client computer.
               _local = New IPEndPoint(Dns.GetHostByName(Dns.GetHostName()).AddressList(0), 0)
               _open = True
            Catch
               Return False
            End Try
         End If
         Return True
      End Function

      ' Destroy the socket and the end points (if necessary).
      Public Function Close() As Boolean
         If (_open) Then
            _socket.Close()
            _socket = Nothing
            _server = Nothing
            _local = Nothing
            _open = False
         End If
         Return True
      End Function

      ' Perform a PING operation.
      Public Overloads Function Ping() As Integer
         Return Ping(DEFAULT_TIMEOUT)
      End Function

      ' The Ping method performs a PING operation.
      Public Overloads Function Ping(ByVal timeOutMilliSeconds As Integer) As Integer

         ' Initialize the time-out value.
         Dim timeOut As Integer = timeOutMilliSeconds + Environment.TickCount()

         ' Send the packet.
         If (SOCKET_ERROR = _socket.SendTo(_packet.Serialize(), _packet.Size(), 0, _server)) Then
            Return PING_ERROR
         End If

         ' Use the following loop to check the response time until you receive a time-out.
         Do
            ' Poll the read buffer every millisecond.
            ' If data exists, read the data and return the round-trip time.
            If (_socket.Poll(1000, SelectMode.SelectRead)) Then
               _socket.ReceiveFrom(_recvBuffer, RECV_SIZE, 0, _local)
               Return (timeOutMilliSeconds - (timeOut - Environment.TickCount()))
            ElseIf (Environment.TickCount() >= timeOut) Then
               Return PING_ERROR
            End If
         Loop While (True)
      End Function
#End Region
   End Class

คำนวณมูลค่า checksum

รหัสต่อไปนี้ประกอบด้วยคำคำนวณวิธีการคำนวณค่า checksum รหัสนี้ยังประกอบด้วยสหภาพที่นั้นคำนวณวิธีการใช้งาน
#Region "MEMBER METHODS"
      <StructLayout(LayoutKind.Explicit)> _
                 Structure UNION_INT16
         <FieldOffset(0)> Dim lsb As Byte      ' Least significant byte
         <FieldOffset(1)> Dim msb As Byte      ' Most significant byte
         <FieldOffset(0)> Dim w16 As Short
      End Structure

      <StructLayout(LayoutKind.Explicit)> _
      Structure UNION_INT32
         <FieldOffset(0)> Dim lsw As UNION_INT16     ' Most significant word
         <FieldOffset(2)> Dim msw As UNION_INT16     ' Least significant word
         <FieldOffset(0)> Dim w32 As Integer
      End Structure

      ' The Calculate method calculates the checksum value.
      Public Function Calculate(ByRef buffer() As UInt16, ByVal size As Int32) As UInt16
         Dim counter As Int32 = 0
         Dim cksum32 As UNION_INT32
         Do While (size > 0)
            cksum32.w32 += Convert.ToInt32(buffer(counter))
            counter += 1
            size -= 1
         Loop

         cksum32.w32 = cksum32.msw.w16 + cksum32.lsw.w16 + cksum32.msw.w16
         Return Convert.ToUInt16(cksum32.lsw.w16 Xor &HFFFF)
      End Function
#End Region

ใช้อินเทอร์เฟซสำหรับผู้ใช้

รหัสต่อไปนี้ใช้อินเทอร์เฟซสำหรับผู้ใช้ รหัสนี้กำหนดว่าชื่อโฮสต์หรือ ip แอดเด รสที่ ชนิดของผู้ใช้ว่างเปล่า และจากนั้น จะแจ้งเตือนผู้ใช้ให้พิมพ์ชื่อโฮสต์หรือที่อยู่ IP ในรูปแบบที่ระบุ หลังจากที่ผู้ใช้ชนิดชื่อโฮสต์หรือที่อยู่ IP โปรแกรมประยุกต์ที่สร้างการเชื่อมต่อซ็อกเก็ตสอดคล้องกันอยู่ IP (ถ้ามีที่อยู่นี้อยู่ในเครือข่ายเดียวกัน), และจากนั้น โปรแกรมประยุกต์ส่งแพคเก็ตข้อมูล โดยใช้ ICMP แอพลิเคชันแล้วคำนวณเวลาที่ถ่ายไว้ (ในมิลลิวินาที) เพื่อส่ง และรับแพคเก็ตข้อมูล และโปรแกรมประยุกต์ที่แสดงค่านี้ ถ้าชื่อโฮสต์หรืออยู่ IP ไม่อยู่ในเครือข่ายเดียวกัน หรือ ถ้าชนิดผู้ใช้ที่อยู่ IP ไม่ถูกต้องหรือมีชื่อโฮสต์ที่ไม่ถูกต้อง แอพลิเคชันที่แสดงข้อความ
Sub Main()
   Dim Packet As New ICMP_Packet.CPing()
   Dim retValue

   Console.WriteLine("Enter the IP address or the host name to ping: ")

   ' Accept a host name or an IP address.
   Packet.HostName = Trim(Console.ReadLine())

   ' Determine whether the user has typed only spaces instead of a host name or an IP address.
   If Packet.HostName = "" Then
      Console.WriteLine("Please enter an IP address (in the N.N.N.N format) or a host name")
   Else
      ' Determine whether you can establish a socket connection to the IP address.
      If Packet.Open Then
         ' Establish a socket connection, and then send a packet using ICMP.
         retValue = Packet.Ping
         If retValue <> -1 Then
            ' Display the response time in milliseconds.
            Console.WriteLine("Approximate response time : " & retValue)
         Else
            Console.WriteLine("Host Unreachable")
         End If
      Else
         Console.WriteLine("No host found")
      End If
      
      Packet.Close()

   End If

   Console.WriteLine("Press ENTER to quit.")
   Console.ReadLine()

End Sub

สร้างโปรแกรมประยุกต์คอนโซล

  1. เริ่ม Microsoft Visual Studio .NET
  2. ในการแฟ้ม:เมนู ให้ชี้ไปที่ใหม่แล้ว คลิกProject. กระบวนการโครงการใหม่กล่องโต้ตอบปรากฏขึ้น
  3. ภายใต้ชนิดโครงการคลิกvisual โครงการพื้นฐาน.
  4. ภายใต้แม่แบบคลิกคอนโซลแอพลิเคชัน.
  5. ในการชื่อ:กล่อง ชนิดMyConsoleApplication.

    หมายเหตุ:MyConsoleApplication คือ ตัวอย่าง Visual Basic .NET แอพลิเคชัน
  6. ในการตำแหน่ง:กล่อง พิมพ์ตำแหน่งที่ตั้งที่คุณต้อง การบันทึกโครงการ MyConsoleApplication แล้ว คลิกตกลง.

    โดยค่าเริ่มต้น แฟ้ม Module1.vb ถูกสร้างขึ้น
  7. ในแฟ้ม Module1.vb แทนรหัสที่มีอยู่ ด้วยรหัสต่อไปนี้:
    Imports System.Net.Sockets
    Imports System.Net
    Imports System
    Imports System.Runtime.InteropServices
    
    Namespace ICMP_Packet
    
       ' Define the structure of an ICMP packet.
       ' This structure contains packet information.
       Structure IcmpPacket
    #Region "PUBLIC MEMBER VARIABLES"
          Dim type_message As Byte                ' type of message
          Dim subCode_type As Byte                ' type of sub-code
          Dim complement_checkSum As UInt16       ' one's complement checksum for the structure
          Dim identifier As UInt16                ' identifier
          Dim sequenceNumber As UInt16            ' sequence number  
          Dim data() As Byte                      ' data
    #End Region
    
    
    #Region "PUBLIC MEMBER METHODS"
          Public Sub Initialize(ByVal type As Byte, ByVal subCode As Byte, ByVal payload() As Byte)
             Dim index As Integer
             Dim buffer_icmpPacket() As Byte
             Dim cksumBuffer() As UInt16
             Dim icmpHeaderBufferIndex As Int32 = 0
             Me.type_message = type
             Me.subCode_type = subCode
             complement_checkSum = UInt16.Parse("0")
             identifier = UInt16.Parse("45")
             sequenceNumber = UInt16.Parse("0")
             Data = payload
    
             ' Declare a variable to store the total packet size.
             ' Call the Serialize method to count the total number of bytes in the packet.
             buffer_icmpPacket = Serialize()
    
             ' Resize a UInt16 array to half the size of the packet.
             ReDim cksumBuffer((buffer_icmpPacket.Length() \ 2) - 1)
    
             ' Initialize the UInt16 array.
             For index = 0 To (cksumBuffer.Length() - 1)
                cksumBuffer(index) = BitConverter.ToUInt16(buffer_icmpPacket, icmpHeaderBufferIndex)
                icmpHeaderBufferIndex += 2
             Next index
    
             'Call a method that returns a checksum.
             complement_checkSum = MCheckSum.Calculate(cksumBuffer, cksumBuffer.Length())
          End Sub
    
          Public Function Size() As Integer
             Return (8 + Data.Length())
          End Function
    
          ' The Serialize method converts the packet to a byte array to calculate the total size.
          Public Function Serialize() As Byte()
             Dim b_seq() As Byte = BitConverter.GetBytes(sequenceNumber)
             Dim b_cksum() As Byte = BitConverter.GetBytes(complement_checkSum)
             Dim b_id() As Byte = BitConverter.GetBytes(identifier)
             Dim index As Int32 = 0
             Dim buffer() As Byte
             ReDim buffer(Size() - 1)
    
             ' Serialize the structure into the array.
             buffer(0) = type_message
             buffer(1) = subCode_type
             index += 2
             Array.Copy(b_cksum, 0, buffer, index, 2)
             index += 2
             Array.Copy(b_id, 0, buffer, index, 2)
             index += 2
             Array.Copy(b_seq, 0, buffer, index, 2)
             index += 2
    
             ' Copy the data.
             If (Data.Length() > 0) Then
                Array.Copy(Data, 0, buffer, index, Data.Length())
             End If
             Return buffer
          End Function
    #End Region
       End Structure
    
       ' The CPing class.
       Public Class CPing
    #Region "MEMBER CONSTANTS"
          Private Const DEFAULT_TIMEOUT As Integer = 1000
          Private Const SOCKET_ERROR As Integer = -1
          Private Const PING_ERROR As Integer = -1
          Private Const ICMP_ECHO As Integer = 8
          Private Const DATA_SIZE As Integer = 32
          Private Const RECV_SIZE As Integer = 128
    #End Region
    
    #Region "MEMBER VARIABLES"
          Private _open As Boolean = False
          Private _initialized As Boolean
          Private _recvBuffer() As Byte
          Private _packet As IcmpPacket
          Private _hostName As String
          Private _server As EndPoint
          Private _local As EndPoint
          Private _socket As Socket
    
    #End Region
    
    #Region "CONSTRUCTORS & FINALIZER"
          Public Sub New(ByVal hostName As String)
             Me.HostName() = hostName
             ReDim _recvBuffer(RECV_SIZE - 1)
          End Sub
    
          Public Sub New()
             ' Set the default host name to the local host.
             Me.HostName() = Dns.GetHostName()
             ReDim _recvBuffer(RECV_SIZE - 1)
          End Sub
    
          Private Overloads Sub finalize()
             ' Ensure that you close the socket.
             Me.Close()
             Erase _recvBuffer
          End Sub
    #End Region
    
    #Region "MEMBER METHODS"
          ' Get and set the current host name.
          Public Property HostName() As String
             Get
                Return _hostName
             End Get
             Set(ByVal Value As String)
                _hostName = Value
                ' If the CPing object is already open, close it and then reopen it by using a new host name.
                If (_open) Then
                   Me.Close()
                   Me.Open()
                End If
             End Set
          End Property
    
          ' Get the state (open or closed).
          Public ReadOnly Property IsOpen() As Boolean
             Get
                Return _open
             End Get
          End Property
    
          ' Create a socket to host remote end points and local end points.
          Public Function Open() As Boolean
             Dim payload() As Byte
    
             If (Not _open) Then
                Try
                   ' Initialize the packet.
                   ReDim payload(DATA_SIZE)
                   _packet.Initialize(ICMP_ECHO, 0, payload)
    
                   ' Initialize an ICMP socket.
                   _socket = New Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.Icmp)
    
                   ' Set the server end point.
                   _server = New IPEndPoint(Dns.GetHostByName(_hostName).AddressList(0), 0)
    
                   ' Set the receiving end point as your client computer.
                   _local = New IPEndPoint(Dns.GetHostByName(Dns.GetHostName()).AddressList(0), 0)
                   _open = True
                Catch
                   Return False
                End Try
             End If
             Return True
          End Function
    
          ' Destroy the socket and end points (if necessary).
          Public Function Close() As Boolean
             If (_open) Then
                _socket.Close()
                _socket = Nothing
                _server = Nothing
                _local = Nothing
                _open = False
             End If
             Return True
          End Function
    
          ' Perform a PING operation.
          Public Overloads Function Ping() As Integer
             Return Ping(DEFAULT_TIMEOUT)
          End Function
    
          ' The Ping method performs a PING operation.
          Public Overloads Function Ping(ByVal timeOutMilliSeconds As Integer) As Integer
    
             ' Initialize the time-out value.
             Dim timeOut As Integer = timeOutMilliSeconds + Environment.TickCount()
    
             ' Send the packet.
             If (SOCKET_ERROR = _socket.SendTo(_packet.Serialize(), _packet.Size(), 0, _server)) Then
                Return PING_ERROR
             End If
    
             ' Use the following loop to check the response time until you receive a time-out.
             Do
                ' Poll the read buffer every millisecond.
                ' If data exists, read the data and return the round-trip time.
                If (_socket.Poll(1000, SelectMode.SelectRead)) Then
                   _socket.ReceiveFrom(_recvBuffer, RECV_SIZE, 0, _local)
                   Return (timeOutMilliSeconds - (timeOut - Environment.TickCount()))
                ElseIf (Environment.TickCount() >= timeOut) Then
                   Return PING_ERROR
                End If
             Loop While (True)
          End Function
    #End Region
       End Class
    
       ' The MCheckSum module contains the static Calculate method.
       Module MCheckSum
    #Region "MEMBER METHODS"
          <StructLayout(LayoutKind.Explicit)> _
                     Structure UNION_INT16
             <FieldOffset(0)> Dim lsb As Byte      ' Least significant byte
             <FieldOffset(1)> Dim msb As Byte      ' Most significant byte
             <FieldOffset(0)> Dim w16 As Short
          End Structure
    
          <StructLayout(LayoutKind.Explicit)> _
          Structure UNION_INT32
             <FieldOffset(0)> Dim lsw As UNION_INT16     ' Most significant word
             <FieldOffset(2)> Dim msw As UNION_INT16     ' Least significant word
             <FieldOffset(0)> Dim w32 As Integer
          End Structure
    
          ' The Calculate method calculates the checksum value.
          Public Function Calculate(ByRef buffer() As UInt16, ByVal size As Int32) As UInt16
             Dim counter As Int32 = 0
             Dim cksum32 As UNION_INT32
             Do While (size > 0)
                cksum32.w32 += Convert.ToInt32(buffer(counter))
                counter += 1
                size -= 1
             Loop
    
             cksum32.w32 = cksum32.msw.w16 + cksum32.lsw.w16 + cksum32.msw.w16
             Return Convert.ToUInt16(cksum32.lsw.w16 Xor &HFFFF)
          End Function
    #End Region
    
          Sub Main()
             Dim Packet As New ICMP_Packet.CPing()
             Dim retValue
    
             Console.WriteLine("Enter the IP address or the host name to ping: ")
    
             ' Accept a host name or an IP address.
             Packet.HostName = Trim(Console.ReadLine())
    
             ' Determine whether the user has typed only spaces instead of a host name or an IP address.
             If Packet.HostName = "" Then
                Console.WriteLine("Please enter an IP address (in the N.N.N.N format) or a host name")
             Else
                ' Determine whether you can establish a socket connection to the IP address.
                If Packet.Open Then
                   ' Establish a socket connection, and then send a packet by using ICMP.
                   retValue = Packet.Ping
                   If retValue <> -1 Then
                      ' Display the response time in milliseconds.
                      Console.WriteLine("Approximate response time : " & retValue)
                   Else
                      Console.WriteLine("Host Unreachable")
                   End If
                Else
                   Console.WriteLine("No host found")
                End If
                
                Packet.Close()
    
             End If
    
             Console.WriteLine("Press ENTER to quit.")
             Console.ReadLine()
    
          End Sub
       End Module
    
    End Namespace
  8. ในโซลูชัน Explorer คลิกการMyConsoleApplicationProject
  9. ในการProjectเมนู คลิกคุณสมบัติ.
  10. ในการหน้าคุณสมบัติ MyConsoleApplicationกล่องโต้ตอบ เลือกหลักการย่อยจากนั้นเริ่มต้นใช้งานวัตถุรายการหล่นลงกล่อง แล้วคลิกตกลง.
  11. ในการตรวจแก้จุดบกพร่องเมนู คลิกเริ่มการทำงาน.
  12. ที่พรอมต์คำสั่งที่ปรากฏ พิมพ์ชื่อโฮสต์หรือที่อยู่ IP และกด enter

ข้อมูลอ้างอิง

สำหรับข้อมูลเพิ่มเติม แวะไปไซต์เว็บ Network (MSDN) นักพัฒนา Microsoft ต่อไปนี้:
.aspx http://msdn2.microsoft.com/en-us/library/system.net.sockets (vs.71)

.aspx http://msdn2.microsoft.com/en-us/library/b6xa24z5 (vs.71)

.aspx http://msdn2.microsoft.com/en-us/library/system.net.sockets.socket (vs.71)
สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
300197HOW TO: Ping ที่อยู่ IP กับ Visual Basic โดยใช้ ICMP

คุณสมบัติ

หมายเลขบทความ (Article ID): 828993 - รีวิวครั้งสุดท้าย: 18 ตุลาคม 2553 - Revision: 1.0
ใช้กับ
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Keywords: 
kbnetwork kbhowtomaster kbwinsock kbmt KB828993 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:828993

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com