您的位置:程序门 -> .net技术 -> c#



socket异步通讯的异常捕捉


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


socket异步通讯的异常捕捉
发表于:2007-08-14 20:00:26 楼主
查询了msdn,对socket异步的异常描述为
argumentnullexception
argumentexception  
socketexception
objectdisposedexception

问题:如果我在使用回调方法的时候发生了异常(主要为socketexception),并且捕捉到并处理,是否需要调用endxxxx的方法来结束回调?

例子
public   clsss   clientsocket
{
private   socket   csocket;

public   void   send(byte[]   buffer)
{
try
{
csocket.beginsend(buffer,0,buffer.length,socketflags.none,new   asynccallback(endsendcallback),   csocket)
}
catch   (socketexception)
{
//   这里我是否需要调用csocket.endsend(iasyncresult)这个方法呢?
//   如果需要,要如何写?
//   还是直接关闭socket就可以了?
csocket.close();
}
}
//   这里执行完成异步调用后的处理
private   void   endsendcallback(iasyncresult   ar)
{
socket   worksocket   =   (socket)ar.asyncstate;
try
{
worksocket.endsend(ar);
}
catch   (socketexception   sex)
{
worksocket.close();
}
}

}
发表于:2007-08-15 11:16:291楼 得分:0
自己顶一下。有人知道吗?


快速检索

最新资讯
热门点击