.net网络通信不稳定 本帖最后由 FMNISME 于 2012-02-22 10:56:40 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个不是网络通信不稳定,是你程序设计有问题。空字符串有可能是你建立连接或者断开连接时接收到的消息?这样试试:while (true) { allDone.WaitOne(); server.BeginAcceptTcpClient(receiveMsg, server); }bool flag = false;while (stream.DataAvailable)//没有数据就会跳过 { dataLength = stream.Read(buffer, 0, buffer.Length); str = Encoding.ASCII.GetString(buffer, 0, dataLength); flag = true; }if(flag){string msg = Encoding.ASCII.GetString(buffer); textBox.Text +="\r\n"+msg;//显示出接收到的消息} 按照你这样试过了,不行的。我觉得没必要使用flag=false,因为我不是要接收到空数据就丢弃,而是避免:android发送的是字符串,我接收到的却是空字符串。而且,我以前C#对C#用socket通信时,也会这样。服务器和客户端在一台电脑上测试很正常,然后跨互联网测试数据就传不过去了。 TCP 是基于流的协议。。必须要自行处理粘在一起的 or 从中切开的封包。 做过C#扑克牌游戏的,请过来帮我看看啊 我想兼容多数据库 iBATIS能不能解决? 划拳机器人编译出错,什么原因? 打包安装问题 文件转换问题:Excel->Html 请大家帮忙解决两个问题,关于textbox的 菜单合并问题 listview中的标题栏如何设置背景和字体颜色? 对于异步更新UI wpf与winform的区别 这是PETSHOP中WEBUI中缺少的东西?那位能给我说说下载地址啊?22个项目我都有现在就缺这个??? C#winform发邮件时捕获异常的问题 在webform中使用traceBar
这样试试:
while (true)
{
allDone.WaitOne();
server.BeginAcceptTcpClient(receiveMsg, server);
}
bool flag = false;
while (stream.DataAvailable)//没有数据就会跳过
{
dataLength = stream.Read(buffer, 0, buffer.Length);
str = Encoding.ASCII.GetString(buffer, 0, dataLength);
flag = true;
}
if(flag)
{
string msg = Encoding.ASCII.GetString(buffer);
textBox.Text +="\r\n"+msg;//显示出接收到的消息
}