能否得知Socket.SendAsync的执行情况?
问题一,msdn里描述beginSend函数当系统缓冲区是满的情况下,会理解直接返回异常,SendAsync是等在那里直到发送完毕调用完成事件,还是也一样的立即返回异常?
问题二,除了等待SendAsync自己执行完毕后调用完毕事件方法外,没有其他办法知道本次操作是否结束了吗?这个问题很让让头大,设想一种应用环境,服务器需要经常的send消息,SendAsync每次都需要一个SocketAsyncEventArgs作为参数,在上次异步没有结束前,再次使用SocketAsyncEventArgs对象进行SendAsync就会报异常(SocketAsyncEventArgs处于使用中),你也不可能每次SendAsync都new一个SocketAsyncEventArgs对象,那会造成性能问题,所以用于发送的SocketAsyncEventArgs对象必须能重复使用。可现在似乎找不到什么办法知道SendAsync是否结束