我见别人都这样写
我的为什么不行string strInfo = "";
try
{ byte[] bytInfo = new byte[1024]; int intInfo= socket.Receive(bytInfo, bytInfo.Length, 0);
strInfo = System.Text.Encoding.UTF8.GetString(bytInfo, 0, intInfo); while (intInfo> 0)
{
MessageBox.Show("ok");
intInfo= socket.Receive(bytInfo, bytInfo.Length, 0);
strInfo = strInfo + System.Text.Encoding.UTF8.GetString(bytInfo, 0, intInfo);
}
MessageBox.Show("还不执行?");
}
catch
{}
//现在的问题是怎样才能让它执行这句 MessageBox.Show("还不执行?");
我的为什么不行string strInfo = "";
try
{ byte[] bytInfo = new byte[1024]; int intInfo= socket.Receive(bytInfo, bytInfo.Length, 0);
strInfo = System.Text.Encoding.UTF8.GetString(bytInfo, 0, intInfo); while (intInfo> 0)
{
MessageBox.Show("ok");
intInfo= socket.Receive(bytInfo, bytInfo.Length, 0);
strInfo = strInfo + System.Text.Encoding.UTF8.GetString(bytInfo, 0, intInfo);
}
MessageBox.Show("还不执行?");
}
catch
{}
//现在的问题是怎样才能让它执行这句 MessageBox.Show("还不执行?");
while (intInfo> 0)
{
MessageBox.Show("ok");
intInfo= socket.Receive(bytInfo, bytInfo.Length, 0);
strInfo = strInfo + System.Text.Encoding.UTF8.GetString(bytInfo, 0, intInfo);
}
你这个循环写得有问题,如果Receive接收到了数据,就会继续下一次读操作,又读到了,又会开始下一次...但是,读到结束了的时候,读不到数据了,Receive就不会返回了,结果就停在这儿不动了。