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