/// <summary> /// 登出 /// </summary> /// <param name="onLineUser"></param> public void Logout(OnLineUser onLineUser) { OnLineUsers.Remove(onLineUser.User.Id); LogoutEvent?.Invoke(onLineUser.User); SendSystemMessage($"用户\t{onLineUser.User.Name}\t离开了聊天室"); // 广播用户登出信息 Broadcast(new SystemMessage() { RemoveUserId = onLineUser.User.Id }); }
/// <summary> /// 登陆 /// 将客户端远程对象放入服务端的远程对象中 /// </summary> /// <param name="onLineUser">新用户</param> /// <returns>带着服务端生成的自增ID的用户</returns> public OnLineUser Login(OnLineUser onLineUser) { var user = onLineUser.User; // 通过LoginEvent获取自增ID user = LoginEvent?.Invoke(user); onLineUser.User = user; OnLineUsers[user.Id] = onLineUser; Broadcast(user); SendSystemMessage($"欢迎\t{user.Name}\t进入聊天室"); return(onLineUser); }