(help)Socket通讯问题 TcpClient在调用Close的时候会发送关闭信息到服务器端的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 while(true){ socket.Receive(bb,bb.Length,0);//当TcpClient已经关闭后,这里仍然在等待读取! ...}如上,如何解决 你错了,等待其实已到了下一次,需要你截取socket.Receive(bb,bb.Length,0)这句话的异常,你可以试试,当对方关闭时,receive会触发异常,你可以看vs.net的例子wintalk,仔细看,绝对是好例子,还包含委托、线程的内容,不过要有耐心 能不能直接说说,哪个例子太罗嗦了,另:while{...}是在一个线程中执行,好象截取不到socket.Receive()的异常! while(true){ .......... try { socket.Receive(); } catch(exception e) { Console.WriteLine(e.ToString()); break; } ..........} 在线程中是不能用try来截取异常的 可以我用过,可能这段代码对你的用处会更大 char[] oneBuffer = new char[1]; int readMode = 1; while(readMode != 0){ if(reader.Read(oneBuffer, 0, 1)==0){//当对方关闭时reader这个流读到的 //字节数为0 readMode = 0; continue; } switch(readMode){ case 1: break; case 2: break; default: readMode = 0; continue; } } 最后用自己的办法搞定了,不过还是谢谢gogogo(嘿嘿) 使用imagebutton 链接到其他网站 关于Session过期时间 已知圆弧的起点、终点及半径求圆弧的起始角度和终点角度? c# 一个panel里添加picturebox的优化问题 Sliverlight程序视图设计器 发生了未经处理的异常 如何给日期类型赋空值 c#,将字体同时具有粗体和斜体多种效果 DataSet的问题 急急急&在线等:水晶报表Cannot find KeycodeV2.dll, or invalid keycode. 用C#制作字幕显示屏幕保护???求教 WebBrowser问题 可以用.net开发木马吗?
{
socket.Receive(bb,bb.Length,0);//当TcpClient已经关闭后,这里仍然在等待读取!
...
}如上,如何解决
{
..........
try
{
socket.Receive();
}
catch(exception e)
{
Console.WriteLine(e.ToString());
break;
}
..........
}
char[] oneBuffer = new char[1];
int readMode = 1; while(readMode != 0){
if(reader.Read(oneBuffer, 0, 1)==0){//当对方关闭时reader这个流读到的
//字节数为0
readMode = 0;
continue;
} switch(readMode){
case 1:
break;
case 2:
break;
default:
readMode = 0;
continue;
}
}