0

こんにちは、ソケットを使用してサーバーに接続するコードがあります

Try
    'Connect To The Server
    Dim socketclient As New TcpClient
    Dim success
    Dim result
    result = socketclient.BeginConnect(ip, port, socket.EndConnect, socketclient)
    success = result.AsyncWaitHandle.WaitOne(5000, True)
    If socketclient.Connected = False Then
        Throw New Exception("Server is offline")
    End If
catch ex as exception

End Try

ご覧のように。サーバーがオフラインの場合、私の try-catch セットアップは「ホストが不明です」というエラーをキャッチしません。これは、非同期呼び出し中にエラーが発生したためだと思います。これが正しい場合、非同期呼び出しでエラーをキャッチするにはどうすればよいですか?

4

1 に答える 1

0

非同期操作を終了する必要があります。接続の待機をブロックしたい場合は、ソケットを介して EndConnect を呼び出すだけです;) http://msdn.microsoft.com/en-us/library/system.net.sockets.socket.endconnect. aspx

于 2012-10-17T01:43:54.667 に答える