예제 #1
0
        private void OnNewUserMessage(RedisChannel channel, RedisValue value)
        {
            var lobbyUser = JsonConvert.DeserializeObject <LobbyUser>(value);

            if (lobbyUser.Node == options.NodeName)
            {
                return;
            }

            UsersByConnectionId.Add(lobbyUser.ConnectionId, lobbyUser);
        }
예제 #2
0
        private async Task NewUserInternalAsync(LobbyUser user)
        {
            if (UsersByConnectionId.ContainsKey(user.ConnectionId))
            {
                Logger.LogError($"Got new user request for '{user.Name}' but already know this user");

                return;
            }

            user.Node = options.NodeName;

            UsersByConnectionId.Add(user.ConnectionId, user);

            await subscriber.PublishAsync(RedisChannels.NewUser, JsonConvert.SerializeObject(user));
        }