vb TCP客户端应用程序中断尝试读取服务器响应

时间:2018-05-17 16:30:01

标签: vb.net tcp tcpclient

任何人都可以告诉我为什么我的代码在“Return sockReader.ReadLine()”冻结了吗?谢谢。当我使用“公共子发送”发送命令并且代码卡住时,我正试图从我的Raspberry Pi服务器获取信息。

Imports System.Net
Imports System.Net.Sockets
Imports System.IO

Public Class TCPControl
    Public sock As TcpClient
    Public DataStream As StreamWriter
    Public DataGet As TcpListener
    Private netStream As NetworkStream
    Private sockReader As StreamReader

    Public Sub New(Host As String, Port As Integer)
        ' CLIENT
        sock = New TcpClient(Host, Port)
        netStream = sock.GetStream()
        sockReader = New StreamReader(netStream)
        DataStream = New StreamWriter(sock.GetStream)
        Dim localAddr As IPAddress = IPAddress.Parse("172.16.2.104")
        DataGet = New TcpListener(localAddr, 6969)
    End Sub

    Public Sub Send(Data As String)
        DataStream.Write(Data & vbCrLf)
        DataStream.Flush()
    End Sub

    Public Function Receive()
        Dim howMany As Integer = sock.Available()
        If netStream.DataAvailable Then
            Return sockReader.ReadLine()
        End If
        Return howMany
    End Function
End Class

0 个答案:

没有答案