WPF 网路传输数据乱码!!!!!

yinjianfov 2014-03-15 01:25:13
做了一个小程序 WPF服务端 Win8 App做客户端
想让客户端传送服务端并显示
相关代码如下
客户端

Byte[] buffer = Encoding.UTF8.GetBytes(Text_Enter.Text);// 参数是一个string
dw.WriteBytes(buffer); //dw是一个DataWriter
await dw.StoreAsync();


服务端

NetworkStream ns = tcpClient.GetStream(); //tcpClient是一个TcpClient对象
Byte[] ReadBuffer=new Byte[1024];
await ns.ReadAsync(ReadBuffer,0,ReadBuffer.Length);
string ss = Encoding.UTF8.GetString(ReadBuffer);

this.Text_Name.Text = ss; //在一个文本框里显示这条数据




这样的运行结果是 比如我在客户端的文本框里输入的是Hello World!
在服务端出来的结果是Hello World!这样的东西 请问这个是怎么回事呢

...全文
184 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yinjianfov 2014-03-15
  • 打赏
  • 举报
回复
引用 2 楼 vbfool 的回复:
await ns.ReadAsync(ReadBuffer,0,ReadBuffer.Length); 这个是有返回值的 正确使用其实是 var i = await ns.ReadAsync(ReadBuffer,0,ReadBuffer.Length); 这个i,就是你获取到的字节数量 string ss = Encoding.UTF8.GetString(ReadBuffer); 这个,应该写成 string ss = Encoding.UTF8.GetString(ReadBuffer,0,i); 这样可以选取有数据的一部分。 你说这些和WPF其实一点关系都没有,这都是Socket相关的东西吧
厉害厉害 果然是这样 感谢大神指导~ 太感谢了~ 这个 之前用winform做的客户端 代码是一样的 就没有上述情况 我就想到了是不是WPF的问题 额 。。。
vbfool 2014-03-15
  • 打赏
  • 举报
回复
await ns.ReadAsync(ReadBuffer,0,ReadBuffer.Length); 这个是有返回值的 正确使用其实是 var i = await ns.ReadAsync(ReadBuffer,0,ReadBuffer.Length); 这个i,就是你获取到的字节数量 string ss = Encoding.UTF8.GetString(ReadBuffer); 这个,应该写成 string ss = Encoding.UTF8.GetString(ReadBuffer,0,i); 这样可以选取有数据的一部分。 你说这些和WPF其实一点关系都没有,这都是Socket相关的东西吧
yinjianfov 2014-03-15
  • 打赏
  • 举报
回复
自顶!!!!!!!!

8,757

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧