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"); } }
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); }