Ejemplo n.º 1
0
 private void SendNext(SocketAsyncEventArgs args)
 {
     if (_queue.TryPeek(out IMessage message))
     {
         args.SetBuffer(message.Data.ToArray());
         BeginSend(args);
     }
     else
     {
         // should be impossible
         var e = new Exception("No message to send!");
         _server.RaiseError(_session, e);
         // TODO reset lock?
     }
 }
Ejemplo n.º 2
0
 private void BeginReceive(Socket socket, SocketAsyncEventArgs args)
 {
     try
     {
         if (!socket.ReceiveAsync(args))
         {
             ReceiveComplete(socket, args);
         }
     }
     catch (Exception e)
     {
         _server.RaiseError(_session, e);
         args.Dispose();
     }
 }