2010-11-11 75 views
1

我已經編寫了小型的tcp套接字客戶端和服務器應用程序。服務器發送文本消息給客戶端。的服務器代碼通過套接字接收文本框中的奇怪字符

部分:客戶端代碼

new_sock.Send(Encoding.UTF8.GetBytes("efgh")); 

部分:

byte[] buffer = new byte[100]; 

int count = sock.Receive(buffer); 
sock.Close(); 
textBox_received.Text = Encoding.UTF8.GetString(buffer); 

在Windows窗體應用程序一切正常,但在WPF應用程序接收後的文字總是出現 「盒子」: alt text

什麼原因,我能做些什麼來避免它?

回答

3

您從100字節的整個緩衝區中獲取字符串,而實際上只收到了幾個字節。您應該只對您實際收到的字節做Encoding.GetString

textBox_received.Text = Encoding.UTF8.GetString(buffer,0,count); 
+0

謝謝!有用 :) – mmatloka 2010-11-11 21:52:45