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); }
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); }
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); }
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); }
public static ServerOptions ToServerOptions(this SimpleSocketConfig simpleSocketConfig) { return(ProtocalsExtonds.ConvertSocketServiceCfg(simpleSocketConfig)); }