public Session(SimpleSocket socket, MailMessageHandler messageEvent) { this.Socket = socket; this.MessageRecieved += messageEvent; Socket.SendString(SmtpCommandUtils.SV_GREET); }
private void Run() { while (Running) { if (listener.Pending()) { var sSocket = new SimpleSocket(listener.AcceptSocket()); SocketPool.Add(sSocket); ProcessSocket(sSocket); SocketPool.Remove(sSocket); } Thread.Sleep(50); } }
private void ProcessSocket(SimpleSocket s) { var session = new Session(s, new MailMessageHandler(OnMessageRecieved)); while (s.Connected && Running) { ProcessCommand(session.Socket.GetNextCommand(), session); } }