收到via socket后,文本框中出现奇怪的字符

时间:2010-11-11 21:46:42

标签: c# wpf sockets

我写过小型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

是什么原因,我该怎么做才能避免它?

1 个答案:

答案 0 :(得分:3)

你从100字节的整个缓冲区中获取字符串,而实际上只收到了一些字符串。您应该只对实际收到的字节进行Encoding.GetString

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