public void Start() { _webSocketServer = new WebSocketServer(); SuperSocket.SocketBase.Config.RootConfig rootConfig = new SuperSocket.SocketBase.Config.RootConfig(); var serverConfig = new SuperSocket.SocketBase.Config.ServerConfig(); serverConfig.Name = "PokeFeeder"; serverConfig.ServerTypeName = "WebSocketService"; serverConfig.Ip = "Any"; serverConfig.Port = GlobalSettings.OutgoingServerPort; serverConfig.MaxRequestLength = 4096; serverConfig.MaxConnectionNumber = 100 * 1000; serverConfig.SendingQueueSize = 25; serverConfig.SendTimeOut = 5000; var socketServerFactory = new SuperSocket.SocketEngine.SocketServerFactory(); _webSocketServer.Setup(rootConfig, serverConfig, socketServerFactory); _webSocketServer.Start(); _webSocketServer.NewMessageReceived += new SessionHandler <WebSocketSession, string>(socketServer_NewMessageReceived); _webSocketServer.NewSessionConnected += socketServer_NewSessionConnected; _webSocketServer.SessionClosed += socketServer_SessionClosed; UpdateTitle(); var pokemonIds = GlobalSettings.UseFilter ? PokemonParser.ParsePokemons(new List <string>(GlobalSettings.PokekomsToFeedFilter)) : Enum.GetValues(typeof(PokemonId)).Cast <PokemonId>().ToList(); _serverUploadFilter = ServerUploadFilterFactory.Create(pokemonIds); }
public static ServerUploadFilter Create(List <PokemonId> pokemon) { ServerUploadFilter serverUploadFilter = new ServerUploadFilter(); var pokemonsBinary = PokemonFilterToBinary.ToBinary(pokemon); serverUploadFilter.Pokemon = pokemonsBinary; serverUploadFilter.AreaBounds = GlobalSettings.UseGeoLocationBoundsFilter ? GlobalSettings.GeoLocationBounds : null; return(serverUploadFilter); }