| 发表于: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(); } } } |
|
|
|
|