2015-08-13 89 views
0

NetworkStream回報的隨機數後/寫 這裏是我的代碼流返回隨機數首次讀取之後完全讀

String message = ""; 
Stream Stream = client.GetStream(); 
byte[] buffer = new byte[4096]; 
int read = Stream.Read(buffer, 0, 4096); 
int index = 0; 
while (buffer[index] != 0) 
{ 

    message += ((char)buffer[index]); 

    index++; 
} 
Console.WriteLine(message.Trim()); 
buffer = System.Text.Encoding.UTF8.GetBytes("Received at:" + DateTime.Now); 
Stream.Write(buffer, 0, buffer.Length); 
Stream.Flush(); 
Thread.Sleep(300); 
Console.WriteLine("Message received at:" + DateTime.Now); 
if (message == "") 
{ 
    Run = false; 
    Console.WriteLine("Verbinding sluiten"); 
    Console.ReadLine(); 
} 
+0

我非常懷疑它是返回*隨機*數字。這不是將二進制文本轉換爲文本的好方法,請注意。請顯示您認爲您發送的內容以及您看到的內容。 –

+0

順便說一句:如果你想回顯消息,你應該使用'Stream.Write(buffer,0,read);'* read *可能小於* buffer.Length *(同樣的東西也適用於你的while循環) – Eser

回答

0

我發現了什麼是錯誤的。我明確地嘗試通過網絡流將整個消息歷史記錄發送給主機,這就是隨機數字的來源,但現在它已經修復。