private void UdpSendCompleted(object sender, SocketAsyncEventArgs args) { UdpSendOperation operation = (UdpSendOperation)args.UserToken; operation.callback(operation.message.Count, args.SocketError); args.Completed -= UdpSendCompleted; operation.message.Dispose(); ObjectCache.ReturnSocketAsyncEventArgs(args); }
private void UdpSendCompleted(IAsyncResult result) { UdpSendOperation operation = (UdpSendOperation)result.AsyncState; int bytesSent; try { bytesSent = UdpListener.EndSendTo(result); } catch (SocketException e) { operation.callback(0, e.SocketErrorCode); return; } finally { operation.message.Dispose(); } operation.callback(bytesSent, SocketError.Success); }