public bool Handle(byte[] handshakeMsg, int length, Socket socket, object state) { socket.SetSocketOption(SocketOptionLevel.Tcp, SocketOptionName.NoDelay, true); var msg = Message.CreateMessage(handshakeMsg) as HandshakeMessage; ApplicationUpdateService service; if ((msg.TransmitOption & TransmitOption.Session) != TransmitOption.None) { if (sessionServices.ContainsKey(msg.SessionId)) { service = sessionServices[msg.SessionId]; } else { service = new ApplicationUpdateService(socket); service.OnClose += RemoveFromSession; sessionServices.Add(msg.SessionId, service); } } else { service = new ApplicationUpdateService(socket); } if (msg.Direction == Direction.Upload) { service.Upload(msg); } else { service.Download(msg); } return(true); }
public bool Handle(byte[] handshakeMsg, int length, Socket socket, object state) { socket.SetSocketOption(SocketOptionLevel.Tcp, SocketOptionName.NoDelay, true); var msg = Message.CreateMessage(handshakeMsg) as HandshakeMessage; ApplicationUpdateService service; if ((msg.TransmitOption & TransmitOption.Session) != TransmitOption.None) { if (sessionServices.ContainsKey(msg.SessionId)) { service = sessionServices[msg.SessionId]; } else { service = new ApplicationUpdateService(socket); service.OnClose += RemoveFromSession; sessionServices.Add(msg.SessionId, service); } } else { service = new ApplicationUpdateService(socket); } if (msg.Direction == Direction.Upload) service.Upload(msg); else service.Download(msg); return true; }