VB.Net by API/System/AsyncCallback

Материал из VB Эксперт
Перейти к: навигация, поиск

AsyncCallback.IsCompleted

  
Imports System.Net
Imports System.Net.Sockets

Public Class Tester
    Public Shared Sub Main
        Dim myThread As Threading.Thread
        myThread = New Threading.Thread(AddressOf BeginResolveIP)
        myThread.Start()
    End Sub
    Private Shared Sub BeginResolveIP()
        Try
            Dim myAsyncCallback As New AsyncCallback(AddressOf GetIPList)

            Dim myIAsyncResult As IAsyncResult = Dns.BeginResolve("www.google.ru", myAsyncCallback, Nothing)
            Do While Not myIAsyncResult.IsCompleted
                Threading.Thread.Sleep(10)
            Loop
            Threading.Thread.Sleep(2000)
        Catch ex As SocketException
            Console.WriteLine(ex.Message)
        End Try
    End Sub
    Private Shared Sub GetIPList(ByVal pIAsyncResult As IAsyncResult)
        Dim myIPHostEntry As IPHostEntry
        myIPHostEntry = Dns.EndResolve(pIAsyncResult)
        Dim myIPAddresses() As IPAddress = myIPHostEntry.AddressList
        Dim myIPAddress As IPAddress
        For Each myIPAddress In myIPAddresses
            Console.WriteLine(myIPAddress.ToString)
        Next
    End Sub
    
End Class