私は2つのアプリケーションを持っています.1つはサーバーで、もう1つはVB.netで書かれたクライアントです。どちらも同じマシンで実行されています ( 127.0.0.1 を使用) クライアントはサーバーに 5 バイトのデータしか送信しません。受信したデータを印刷しようとしましたが、その前に空白がたくさんある「farid」と印刷されました。TCP クライアントが正しいデータを送信していることは確かですが、リスナーがデータを受信したときにデータがどうなるかわかりません。
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" を使用するのはかなり悪い設計です!
ここで私の記事をよく読んでください: TcpClient と TcpListener を使用した Visual Basic.Net のピアツーピア LAN チャット アプリケーション
于 2013-05-08T19:40:57.653 に答える