Как я объяснил в комментарии, VB.NET и VB 6 - это почти совершенно разные языки программирования.Вы не делаете себе одолжений, пытаясь написать код VB 6 в VB.NET.Нет никакой причины для миграции, если вы не собираетесь использовать преимущества новых функций, предоставляемых платформой .NET.
Помимо обработки структурированных исключений, о которой я уже упоминал, вы должны отказаться от старого элемента управления WinSock.в пользу классов, найденных в System.Net.Sockets
пространстве имен .
Попробуйте заменить то, что у вас есть, на что-то вроде следующего кода:
Dim tcpClient As New System.Net.Sockets.TcpClient()
tcpClient.Connect("192.168.1.77", 77)
Dim networkStream As NetworkStream = tcpClient.GetStream()
If networkStream.CanWrite And networkStream.CanRead Then
' Do a simple write.
Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes("Is anybody there")
networkStream.Write(sendBytes, 0, sendBytes.Length)
' Read the NetworkStream into a byte buffer.
Dim bytes(tcpClient.ReceiveBufferSize) As Byte
networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize))
' Output the data received from the host to the console.
Dim returnData As String = Encoding.ASCII.GetString(bytes)
Console.WriteLine(("Host returned: " + returnData))
Else
If Not networkStream.CanRead Then
Console.WriteLine("Cannot not write data to this stream. " &
"Please check the server and try again.")
tcpClient.Close()
Else
If Not networkStream.CanWrite Then
Console.WriteLine("Cannot read data from this stream. " &
"Please check the server and try again.")
tcpClient.Close()
End If
End If
End If