0

我有两个应用程序,一个是服务器,另一个是用 VB.net 编写的客户端。它们都在同一台机器上运行(使用 127.0.0.1 )客户端仅向服务器发送 5 字节数据,例如:“farid”,但具有 TCP 侦听器的服务器应用程序接收到长度为 65534 字节的巨大数据。我试图打印接收到的数据,它打印了“farid”,前面有很多空白我确信 TCP 客户端发送了正确的数据,但我不知道当侦听器接收到数据时会发生什么。

4

1 回答 1

1

您使用的教程中有一些可怕的做法和错误... =\

getMessage() 中的接收循环应该更像:

Private Sub getMessage()
    Dim inStream(10024) As Byte
    serverStream = clientSocket.GetStream()
    While True
        Dim bytesRead As Integer = serverStream.Read(inStream, 0, inStream.Length)
        readData = System.Text.Encoding.ASCII.GetString(inStream, 0, bytesRead)
        msg()
    End While
End Sub

*虽然使用全局字符串“readData”是一个非常糟糕的设计!

你应该仔细阅读我的文章:A Peer-To-Peer LAN Chat Application in Visual Basic.Net using TcpClient and TcpListener

于 2013-05-08T19:40:57.653 回答