2010-11-11 74 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