如何修剪从tcpClient.GetStream()收到的消息



我有以下代码,它接收来自我也开发的代理应用程序的输入。

我正在尝试修剪来自代理的所有额外空白,但无论我做什么,结果仍然是8192的长度。这是我迄今为止所拥有的。。。

Private Sub HandleClientComm(ByVal client As Object)
    Dim tcpClient As TcpClient = DirectCast(client, TcpClient)
    Dim clientStream As NetworkStream = tcpClient.GetStream()
    Dim message As Byte() = New Byte(8191) {}
    Dim bytesRead As Integer
    Dim result As String
    While True
        message = New Byte(8191) {}
        bytesRead = 0
        Try
            bytesRead = clientStream.Read(message, 0, 8191) 'blocks until a client sends a message
        Catch
            bytesRead = 0
        End Try
        result = ""
        result = System.Text.Encoding.Default.GetString(message).ToString.Trim
        Logger(result.Length)
        Logger("""" & result & """", "RECV")

结果。长度=8192,结果本身仍然是一个带有尾部空白的大字符串。我尝试了很多方法试图摆脱它。

result = CType(result,String).Trim
result = trim(result)

结果永远不会改变,现在我陷入了困境。

任何帮助,当然感谢!

感谢

它是空字节。。。这修复了它。

result = result.Trim(result.Trim(chr(0)))

最新更新