我有一个基本的TCP / IP通信的Python之间的Linux主机和Visual Basic的Windows主机上安装。 Windows主机似乎很好地工作,作为一个测试,我送一个0到Linux机器,并把它印到Visual Basic调试控制台0回应。 所有工作正常,但Visual Basic中接收响应,并成功地显示它后,它冻结的形式,所以我不能按另一个按钮。 下面的代码示例。
Imports System.Net
Imports System.Net.Sockets
Imports System.Text
Public Class Form1
Shared Sub Main()
Dim tcpClient As New System.Net.Sockets.TcpClient()
tcpClient.Connect("192.168.60.124", 9999)
Dim networkStream As NetworkStream = tcpClient.GetStream()
If networkStream.CanWrite And networkStream.CanRead Then
' Do a simple write.
Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes("0")
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))
tcpClient.Close()
Else
If Not networkStream.CanRead Then
Console.WriteLine("cannot not write data to this stream")
tcpClient.Close()
Else
If Not networkStream.CanWrite Then
Console.WriteLine("cannot read data from this stream")
tcpClient.Close()
End If
End If
End If
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Main()
End Sub
End Class