Пример #1
0
        static void RunAsConsole()
        {
            SocketServiceConfig serverConfig = ConfigurationManager.GetSection("socketServer") as SocketServiceConfig;

            if (!SocketServerManager.Initialize(serverConfig))
            {
                Console.WriteLine("Failed to initialize SuperSocket server! Please check error log for more information!");
                return;
            }

            if (!SocketServerManager.Start())
            {
                Console.WriteLine("Failed to start SuperSocket server! Please check error log for more information!");
                SocketServerManager.Stop();
                return;
            }

            Console.WriteLine("The server has been started! Press key 'q' to stop the server.");

            while (Console.ReadKey().Key != ConsoleKey.Q)
            {
                Console.WriteLine();
                continue;
            }

            SocketServerManager.Stop();

            Console.WriteLine();
            Console.WriteLine("The server has been stopped!");
        }
        public static IBootstrap CreateBootstrapFromServerCfg(SocketServiceConfig serverCfg)
        {
            IBootstrap bootstrap;
            var        configSource = new ConfigurationSource(serverCfg);

            if (configSource == null)
            {
                throw new InvalidOperationException("Invalid 'CSuperSocket' or 'socketServer' configuration section.");
            }
            bootstrap = CreateBootstrap(configSource);
            return(bootstrap);
        }
Пример #3
0
        protected override void OnStart(string[] args)
        {
            SocketServiceConfig serverConfig = ConfigurationManager.GetSection("socketServer") as SocketServiceConfig;

            if (!SocketServerManager.Initialize(serverConfig))
            {
                return;
            }

            if (!SocketServerManager.Start(serverConfig))
            {
                SocketServerManager.Stop();
            }
        }
Пример #4
0
        public static SocketServiceConfig ConvertSocketServiceCfg(this SimpleSocketConfig simpleSocketConfig)
        {
            SocketServiceConfig ssCfg = null;

            if (simpleSocketConfig != null)
            {
                var serverCfg = new Server();
                serverCfg.KeepAliveTime = 10;
                serverCfg.Listeners     = new List <Listener>()
                {
                    new Listener()
                    {
                        Ip   = "Any",
                        Port = simpleSocketConfig.Port,
                    }
                };
                serverCfg.TextEncoding             = simpleSocketConfig.TextEncoding;
                serverCfg.Mode                     = simpleSocketConfig.Mode;
                serverCfg.ServerTypeName           = simpleSocketConfig.ServerTypeNiceName;
                serverCfg.ListenBacklog            = simpleSocketConfig.ListenBacklog;
                serverCfg.MaxConnectionNumber      = simpleSocketConfig.MaxConnectionNumber;
                serverCfg.IdleSessionTimeOut       = simpleSocketConfig.IdleSessionTimeOut;
                serverCfg.ClearIdleSessionInterval = simpleSocketConfig.ClearIdleSessionInterval;
                serverCfg.ClearIdleSession         = simpleSocketConfig.ClearIdleSession;
                serverCfg.ReceiveBufferSize        = simpleSocketConfig.ReceiveBufferSize;
                serverCfg.SendBufferSize           = simpleSocketConfig.SendBufferSize;
                serverCfg.DisableSessionSnapshot   = simpleSocketConfig.DisableSessionSnapshot;
                serverCfg.Name                     = simpleSocketConfig.Name;
                serverCfg.PlatformType             = simpleSocketConfig.PlatformType;



                ssCfg = new SocketServiceConfig(serverCfg);
                ssCfg.MaxCompletionPortThreads        = simpleSocketConfig.MaxCompletionPortThreads;;
                ssCfg.PerformanceDataCollectInterval  = simpleSocketConfig.PerformanceDataCollectInterval;
                ssCfg.DisablePerformanceDataCollector = simpleSocketConfig.DisablePerformanceDataCollector;
                ssCfg.Isolation = simpleSocketConfig.Isolation;

                ssCfg.ServerTypes = new List <TypeProvider>();
                ssCfg.ServerTypes.Add(new TypeProvider()
                {
                    Name = simpleSocketConfig.ServerTypeNiceName,
                    Type = simpleSocketConfig.ServerTypeFullName
                });
            }
            return(ssCfg);
        }
Пример #5
0
        static void RunAsConsole()
        {
            IBootstrap bootstrap = new DefaultBootstrap();

            SocketServiceConfig serverConfig = ConfigurationManager.GetSection("socketServer") as SocketServiceConfig;

            if (!bootstrap.Initialize(serverConfig))
            {
                Console.WriteLine("Failed to initialize SuperSocket server! Please check error log for more information!");
                return;
            }

            var result = bootstrap.Start();

            switch (result)
            {
            case (StartResult.None):
                Console.WriteLine("No server is configured, please check you configuration!");
                break;

            case (StartResult.Success):
                Console.WriteLine("The server has been started!");
                break;

            case (StartResult.Failed):
                Console.WriteLine("Failed to start SuperSocket server! Please check error log for more information!");
                break;

            case (StartResult.PartialSuccess):
                Console.WriteLine("Some server instances were started successfully, but the others failed to start! Please check error log for more information!");
                break;
            }

            Console.WriteLine("Press key 'q' to stop the server.");

            while (Console.ReadKey().Key != ConsoleKey.Q)
            {
                Console.WriteLine();
                continue;
            }

            bootstrap.Stop();

            Console.WriteLine();
            Console.WriteLine("The server has been stopped!");
        }