Beispiel #1
0
        public static ServerOptions ConvertSocketServiceCfg(this SimpleSocketConfig simpleSocketConfig)
        {
            ServerOptions serverCfg = null;

            if (simpleSocketConfig != null)
            {
                serverCfg = new ServerOptions();

                serverCfg.Name = simpleSocketConfig.Name;
                serverCfg.IdleSessionTimeOut       = simpleSocketConfig.IdleSessionTimeOut;
                serverCfg.ClearIdleSessionInterval = simpleSocketConfig.ClearIdleSessionInterval;
                serverCfg.ReceiveBufferSize        = simpleSocketConfig.ReceiveBufferSize;
                serverCfg.SendBufferSize           = simpleSocketConfig.SendBufferSize;
                serverCfg.DefaultTextEncoding      = Encoding.GetEncoding(simpleSocketConfig.TextEncoding);

                serverCfg.MaxPackageLength  = simpleSocketConfig.MaxPackageLength;
                serverCfg.ReceiveBufferSize = simpleSocketConfig.ReceiveBufferSize;
                serverCfg.SendBufferSize    = simpleSocketConfig.SendBufferSize;
                serverCfg.ReceiveTimeout    = simpleSocketConfig.KeepAliveTime;
                serverCfg.SendTimeout       = simpleSocketConfig.KeepAliveTime;

                serverCfg.Listeners = new ListenOptions[] {
                    new ListenOptions()
                    {
                        Ip   = "Any",
                        Port = simpleSocketConfig.Port
                    },
                };
            }
            ;
            return(serverCfg);
        }
Beispiel #2
0
        static async Task Init()
        {
            LoggerManager.InitLogger(new LogConfig());
            SimpleSocketConfig simpleSocketConfig = new SimpleSocketConfig()
            {
                Port = 6868
            };
            long i    = 0;
            var  host = SuperSocketHostBuilder <TestSessionData> .Create <BinaryRequestInfo, DefaultFixedHeaderPipelineFilter>(simpleSocketConfig)
                        .UseHostedService <CSuperSocketService <TestSessionData, BinaryRequestInfo> >()
                        .UsePackageHandler(async(session, requestInfo) =>
            {
                i++;
                if (session.DataContext == null)
                {
                    session.DataContext = new TestSessionData()
                    {
                        Name = i.ToString()
                    };
                }

                //   await Task.Factory.StartNew(()=> {
                var colorf = i % 2 == 0 ? ConsoleColor.Red : ConsoleColor.Green;
                IOHelper.WriteLine(requestInfo.OriBuffer.ToHex(), colorf);
                if (i % 100 == 0)
                {
                    Console.Clear();
                }
                await session.SendAsync(requestInfo.Body.ToArray());
                // });
            })
                        .Build();

            await host.RunAsync();
        }
        public static IBootstrap CreateBootstrapFromServerCfg(SimpleSocketConfig simpleCfg)
        {
            var        serverCfg = simpleCfg.ConvertSocketServiceCfg();
            IBootstrap bootstrap;
            var        configSource = new ConfigurationSource(serverCfg);

            if (configSource == null)
            {
                throw new InvalidOperationException("Invalid 'CSuperSocket' or 'socketServer' configuration section.");
            }
            bootstrap = CreateBootstrap(configSource);
            return(bootstrap);
        }
Beispiel #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);
        }
Beispiel #5
0
        public SuperSocketHostBuilder <TSessionData, TReceivePackage> ConfigureSimpleConfig(SimpleSocketConfig simpleSocketConfig)
        {
            ServerOptions serverOptions = simpleSocketConfig.ToServerOptions();

            return(this.ConfigureServices((hostCtx, services) =>
            {
                services.AddOptions();
                IocUnity.AddSingleton(serverOptions);
                IOptions <ServerOptions> options = new ServerConfigOptions <ServerOptions>(serverOptions);
                IocUnity.AddSingleton <IOptions <ServerOptions> >(options);
            }) as SuperSocketHostBuilder <TSessionData, TReceivePackage>);
        }
 /// <summary>
 /// </summary>
 public AuthProtocolClient(SimpleSocketConfig config)
 {
     _client = new SimpleSocketClient <AuthProtocol, AuthProtocol>(config);
 }
Beispiel #7
0
 public static ServerOptions ToServerOptions(this SimpleSocketConfig simpleSocketConfig)
 {
     return(ProtocalsExtonds.ConvertSocketServiceCfg(simpleSocketConfig));
 }