VB.Net by API/System/AsyncCallback

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

AsyncCallback.IsCompleted

<source lang="vbnet"> 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


 </source>