public void UpdateUserStatus(object o, AcceptDisconnectedUserEventArgs e) { if (activeUser != null) { activeUser(o, e.GetStatusUserEventArgs); } }
public void KeepListening() { MessegesManager msgManager; Messege msg; acceptDisconnected += AcceptDisconnected; try { while (this.GetUser.UserStatus == Status.connected) { msg = (Messege)bf.Deserialize(tcpStream); ThreadPool.QueueUserWorkItem(o => { lock (locker) { msgManager = new MessegesManager(this, msg); if (msgManager.GetStatusUserEventArgs != null) { acceptDisconnectedUser = new AcceptDisconnectedUserEventArgs(msgManager.GetStatusUserEventArgs); if (acceptDisconnected != null) { acceptDisconnected(this, acceptDisconnectedUser); } } Monitor.PulseAll(locker); } }); } tcpStream.Dispose(); ActiveUsers.Remove(this); } catch { tcpStream.Dispose(); ActiveUsers.Remove(this); } }
public void AcceptDisconnected(object o, AcceptDisconnectedUserEventArgs e) { homeServer.UpdateUserStatus(o, e); ActiveUsers.Remove(this); }