private void OnSocket_Send(IAsyncResult ar)
        {
            try
            {
                lock (_session)
                {
                    if (_session.Socket == null)
                    {
                        return;
                    }


                    Int32            transBytes = _session.Socket.EndSend(ar);
                    NetworkSendToken token      = (NetworkSendToken)ar.AsyncState;

                    if (token != null)
                    {
                        token.Buffer.Read(transBytes);
                        if (token.Buffer.ReadableSize == 0)
                        {
                            token.CompletionAction();
                        }
                    }
                }
            }
            catch (SocketException)
            {
            }
            catch (Exception e)
            {
                Logger.Write(LogType.Err, 1, e.ToString());
            }
        }
 private void SendComplete(object sender, SocketAsyncEventArgs saea)
 {
     try
     {
         NetworkSendToken token = (NetworkSendToken)saea.UserToken;
         if (token != null)
         {
             token.Buffer.Read(saea.BytesTransferred);
             if (token.Buffer.ReadableSize == 0)
             {
                 token.CompletionAction();
             }
         }
     }
     catch (SocketException)
     {
     }
     catch (ArgumentException)
     {
     }
     catch (Exception e)
     {
         Logger.Err(LogMask.Aegis, e.ToString());
     }
 }
Ejemplo n.º 3
0
        private void Socket_Send(IAsyncResult ar)
        {
            try
            {
                lock (_session)
                {
                    if (_session.Socket == null)
                    {
                        return;
                    }


                    int transBytes         = _session.Socket.EndSend(ar);
                    NetworkSendToken token = (NetworkSendToken)ar.AsyncState;

                    if (token != null)
                    {
                        token.Buffer.Read(transBytes);
                        if (token.Buffer.ReadableSize == 0)
                        {
                            token.CompletionAction();
                        }
                    }
                }
            }
            catch (SocketException)
            {
            }
            catch (ArgumentException)
            {
            }
            catch (Exception e)
            {
                Logger.Err(LogMask.Aegis, e.ToString());
            }
        }