private void socketServer_NewMessageReceived(WebSocketSession session, string value)
        {
            try
            {
                var match        = Regex.Match(value, @"^(1?\d+)\:(?:Disturb the sound of silence)\:(2?.*)$");
                var matchRequest = Regex.Match(value, @"^(1?\d+)\:(?:I\'ve come to talk with you again\:)(2?.*)$");

                if (match.Success)
                {
                    _incomingMessages.Enqueue(match.Groups[2].Value);
                }
                else if (matchRequest.Success)
                {
                    List <SniperInfo> sniperInfoToSend = FilterOnRequest(matchRequest);
                    sniperInfoToSend.ForEach(s => s.NeedVerification = !SniperInfoRepositoryManager.ValidateVerifiedSniperInfo(s));
                    session.Send($"{GetEpoch()}:Hear my words that I might teach you:" +
                                 JsonConvert.SerializeObject(sniperInfoToSend));
                }
                else
                {
                    session.Send("People talking without speaking");
                }
            }
            catch (Exception e)
            {
                Log.Error($"[Session {session.SessionID}]Error during message received: ", e);
                session.Send("People talking without speaking");
            }
        }
Example #2
0
        public PogoServer()
        {
            _serverRepository            = new SniperInfoRepository();
            _sniperInfoRepositoryManager = new SniperInfoRepositoryManager(_serverRepository);

            Task.Factory.StartNew(async() => {
                while (true)
                {
                    string item = null;
                    while (_incomingMessages.TryDequeue(out item))
                    {
                        HandleIncomingPokemonMessage(item);
                    }
                    await Task.Delay(100);
                }
            });
        }
        public PogoServer()
        {
            _serverRepository            = new SniperInfoRepository();
            _sniperInfoRepositoryManager = new SniperInfoRepositoryManager(_serverRepository);

            Task.Factory.StartNew(async() => {
                while (true)
                {
                    string item = null;
                    while (_incomingMessages.TryDequeue(out item))
                    {
                        try
                        {
                            HandleIncomingPokemonMessage(item);
                        } catch (Exception e)
                        {
                            Log.Warn($"Could not parse incoming message: {item}", e);
                        }
                    }
                    await Task.Delay(100);
                }
            });
        }
 public PogoServer()
 {
     _serverRepository            = new SniperInfoRepository();
     _sniperInfoRepositoryManager = new SniperInfoRepositoryManager(_serverRepository);
 }