public void OffLine() { Console.WriteLine("{0} is offline!", uName); var uu = LoginUsers.Find(a => a.UserName == uName); if (uu != null) { LoginUsers.Remove(uu); } if (DicUserSockets.ContainsKey(uName)) { DicUserSockets.Remove(uName); } var userService = new UserService(uName); var theFriends = userService.GetFriends(); foreach (var f in theFriends) { if (DicUserSockets.ContainsKey(f.UserName)) { LogoutMsg logout = new LogoutMsg(uName); var sock = DicUserSockets[f.UserName]; logout.Send(sock); } } }
public List <OnlineUserInfo> GetFriends() { List <OnlineUserInfo> list = new List <OnlineUserInfo>(); var friends = Friends.FindAll(x => x.UserName == uName); foreach (Friends f in friends) { var u = new OnlineUserInfo(); u.UserName = f.FriendName; var x = LoginUsers.Find(user => user.UserName == u.UserName); u.IPEnd = x == null ? null : x.IPEnd; list.Add(u); } return(list); }
public IPAddress GetIP() { var user = LoginUsers.Find(u => u.UserName == uName); return(user == null ? null : user.IPEnd.Address); }
public static OnlineUserInfo GetUserInfoFromSocket(Socket sock) { var remote = sock.RemoteEndPoint as IPEndPoint; return(LoginUsers.Find(u => u.IPEnd == remote)); }