public void ExecuteCommands() { var client = new CacheClient(); InProcessChannel channel = new InProcessChannel(); client.Channel = channel; Server.Server server = new Server.Server(new ServerConfig()) { Channel = channel }; server.Start(); client.RegisterTypeIfNeeded(typeof(TradeLike)); var serverDesc = client.GetClusterInformation(); Assert.AreEqual(serverDesc.Schema.Length, 1); CommandLineParser parser = new CommandLineParser(serverDesc); CommandBase cmd = parser.Parse("desc"); cmd.TryExecute(client); cmd = parser.Parse("desc TRADELIKE"); cmd.TryExecute(client); cmd = parser.Parse("count from TRADELIKE where folder=aaa "); cmd.TryExecute(client); }
public void Data() { ResetState(); var server = new Server.Server(7200, OnData, null, null); server.Start(); var client = Client.Create(null, null, null); client.Connect(new IPEndPoint(IPAddress.Loopback, 7200)); var data = new byte[5] { 85, 29, 33, 12, 196 }; client.SendData(data); _waiter.Wait(); Assert.True(_received); Assert.NotNull(_receivedData); for (int i = 0; i < data.Length; i++) { Assert.Equal(data[i], _receivedData[i]); } }
static void Main(string[] args) { Console.WriteLine("NOTE"); Console.WriteLine("This demo shows how-to secure your server using restricted app domain."); Console.WriteLine("You may change `FileIOPermission` parameter to allow querying server file system."); Console.WriteLine($"See {typeof(Program).FullName} ..."); const string ip = "127.0.0.1"; const int port = 1234; Console.WriteLine("\n\n1st demo: running server in default app domain (full-trust -> unsecured)"); using (var server = new Server(ip, port)) { server.Start(); new Client(ip, port).Run(); } Console.WriteLine("\n\n2nd demo: running server in restricted app domain (partial-trust)"); var serverDomain = CreateServerAppDomain( new FileIOPermission(PermissionState.None), // <-- this prevents clients to enumerate the server's file system new SocketPermission(NetworkAccess.Accept, TransportType.Tcp, ip, port)); using (var server = Create <Server>(serverDomain, ip, port)) { server.Start(); new Client(ip, port).Run(); } Console.WriteLine("\n\nHit enter to exit"); Console.ReadLine(); }
static void Main(string[] args) { connection = new Server.Server(); connection.OnServerEvent += ShowMessage; connection.Start(); Console.ReadLine(); }
public async Task AsyncClient_ConnectMultipleClientsToServer_ConnectionsSucceed() { var port = Network.GetTcpPort(); var uriString = string.Format("http://localhost:{0}", port); var uri = new Uri(uriString); var applicationContext = Substitute.For<IApplicationContext>(); using (var server = new Server.Server(uri)) { server.Start(applicationContext); var clients = new List<Client.AsyncClient>(); const int NumClients = 100; var clientReceivedMessageCount = 0; for (var i = 0; i < NumClients; i++) { var client = new Client.AsyncClient(uri); client.OnMessage += (sender, eventArgs) => clientReceivedMessageCount++; var connected = await client.Connect(Client.Enums.TransportType.ServerSentEvents); Assert.IsTrue(connected); clients.Add(client); } Assert.AreEqual(NumClients, clients.Count); server.SendMessage("x"); foreach (var client in clients) { client.Dispose(); } // Probably won't receive all messages - no sleep or synchronisation implemented to ensure exactly NumClients messages Assert.IsTrue(clientReceivedMessageCount > 0); Assert.IsTrue(clientReceivedMessageCount <= NumClients); } }
public void Init() { _client = new CacheClient(); var channel = new InProcessChannel(); _client.Channel = channel; _server = new Server.Server(new ServerConfig()) { Channel = channel }; _server.Start(); _client.RegisterTypeIfNeeded(typeof(CacheableTypeOk)); var cfg = new ClientConfig(); cfg.LoadFromFile("CacheClientConfig.xml"); foreach (var description in cfg.TypeDescriptions) { if (description.Value.FullTypeName == "UnitTests.TestData.Trade") { _client.RegisterTypeIfNeeded(typeof(Trade), description.Value); } } }
public static async Task Main(string[] args) { const string directory = "squirrelayserver-log"; Directory.CreateDirectory(directory); var date = DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss"); using var fileStream = File.OpenWrite($"{directory}/log_{date}.txt"); using var streamWriter = new StreamWriter(fileStream); var logger = new Logger(streamWriter); NetDebug.Logger = logger; Console.CancelKeyPress += (_, _) => logger.Flush(); try { // Load config var path = args.Length > 0 && File.Exists(args[0]) ? args[0] : DefaultConfigPath; var config = await Config.LoadFromFileAsync(path); NetDebug.Logger?.WriteNet(NetLogLevel.Info, $"Config is loaded from '{path}'."); // Start server var server = new Server.Server(config, Options.DefaultOptions); await server.Start(); } finally { logger.Flush(); } }
public void Init() { _client = new CacheClient(); var channel = new InProcessChannel(); _client.Channel = channel; _server = new Server.Server(new ServerConfig()) { Channel = channel }; _server.Start(); _client.RegisterTypeIfNeeded(typeof(CacheableTypeOk)); _client.RegisterTypeIfNeeded(typeof(TradeLike)); var serverDesc = _client.GetClusterInformation(); _parser = new CommandLineParser(serverDesc); Logger.CommandLogger = _logger; if (File.Exists("export_test.json")) { File.Delete("export_test.json"); } }
protected override async Task OnStart(string[] args) { _server = new Octgn.Server.Server(_config, HostedGame, BroadcastPort); _server.OnStop += Server_OnStop; await _server.Start(); await base.OnStart(args); }
static void Main(string[] args) { Server.Server server = new Server.Server(); server.Start(); //RemotingConfiguration.Configure("Test.exe.config", false); Console.ReadKey(); server.Stop(); Console.ReadKey(); }
public void Start() { IPAddress ipa = IPAddress.Parse(ListenIp); IPEndPoint localEndPoint = new IPEndPoint(ipa, ListenPort); server.Init(); server.Start(localEndPoint, "\n", handle); _logger.LogInformation($"监听客户端 -> {ListenIp}:{ListenPort}"); }
public void Start(IListenerDispatcher requestDispatcher, int backlog = 100) { _requestDispatcher = requestDispatcher; IPAddress ipa = IPAddress.Parse(ListenIp); IPEndPoint localEndPoint = new IPEndPoint(ipa, ListenPort); server.Init(); server.Start(localEndPoint, "\r\n\r\n", handle); _logger.LogInformation($"监听客户端 -> {ListenIp}:{ListenPort}"); }
public void Server_CreateAndStartServer_Starts() { var port = Network.GetTcpPort(); var uriString = string.Format("http://localhost:{0}", port); var uri = new Uri(uriString); var applicationContext = Substitute.For<IApplicationContext>(); using (var server = new Server.Server(uri)) { server.Start(applicationContext); } }
public static void Run( bool doRunServer = true, bool doRunClient = true) { var _cancellationTokenSource = new CancellationTokenSource(); if (doRunServer) { var _serverTask = new Task( () => { var _listener = new Server.Server( Program.Configuration.Port, new Metric.Inv.v3.Server.IStatisticsProcessor[] { new Metric.Inv.v3.Server.ConsoleWriterStatisticsProcessor() }); _listener.Start(); }, _cancellationTokenSource.Token, TaskCreationOptions.LongRunning); _serverTask.Start(); } if (doRunClient) { var _clientTask = new Task( () => { while (true) { _cancellationTokenSource.Token.ThrowIfCancellationRequested(); var _worker = new Worker(); using (var _timer = Program.Metrics.StartTimer("Program.Work")) { _worker.DoWork(); } } }, _cancellationTokenSource.Token, TaskCreationOptions.LongRunning); _clientTask.Start(); } var _lineRead = string.Empty; while (_lineRead != "x") { Console.WriteLine("Hit x to stop "); _lineRead = Console.ReadLine(); } _cancellationTokenSource.Cancel(); }
public void Init() { _serverChannel = new TcpServerChannel(); _server = new Server.Server(new ServerConfig()) { Channel = _serverChannel }; _serverPort = _serverChannel.Init(); _serverChannel.Start(); _server.Start(); Thread.Sleep(500); //be sure the server is started }
public static void Execute() { Server.ServerList InitalizeSettings = new Server.ServerList(); // used to retrieve server settings and test the user input. string[] ServerList = InitalizeSettings.GetServerList(); // gets a list of all of the created servers from the Servers/ directory. if (ServerList.Length > 0) // does a server exist? { // Remove @"Servers\" from the strings in the server list. // HACK: consider adding to this ServerList.GetServerList(); for (int i = 0; i < ServerList.Length; i++) ServerList[i] = ServerList[i].Replace(@"Servers\", ""); // Display the server information and ask the user what server they would like to start. Console.WriteLine("What server would you like to start (Enter in the number or name)?"); for (int i = 0; i < ServerList.Length; i++) { int ServerIndex = i + 1; Console.WriteLine(ServerIndex.ToString() + "). " + ServerList[i]); } Console.WriteLine("------"); // gives the user some space string ServerName = Console.ReadLine(); ServerName = ServerName.ToUpper(); for (int i = 0; i < ServerList.Length; i++) { int ServerCount = i + 1; if (ServerName == ServerCount.ToString() || ServerName == ServerList[i].ToUpper()) // the user can enter the name or a number { ServerName = ServerList[i]; // if the user enters a number we need to make the input a string of the servers name. ServerName = ServerName.Replace(@"Servers\", ""); Server.ServerInit.ServerSettings Settings = InitalizeSettings.GetServerByName(ServerName); // load in user settings. Server.Server srv = new Server.Server(Settings); // create a new object with those server settings Console.WriteLine(Settings.server_name + " starting."); srv.Start(); // start the server } else { Console.WriteLine("Invalid server name supplied."); } } } else { Console.WriteLine("No Servers currently created."); } }
public void Connection() { ResetState(); var server = new Server.Server(7200, null, null, null); server.Start(); var client = Client.Create(null, OnConnection, null); client.Connect(new IPEndPoint(IPAddress.Loopback, 7200)); _waiter.Wait(); Assert.True(_connected); }
public async Task AsyncClient_ConnectToServerThenTerminateServer_ConnectionSucceeds() { var port = Network.GetTcpPort(); var uriString = string.Format("http://localhost:{0}", port); var uri = new Uri(uriString); var applicationContext = Substitute.For<IApplicationContext>(); var server = new Server.Server(uri); server.Start(applicationContext); using (var client = new Client.AsyncClient(uri)) { var connected = await client.Connect(Client.Enums.TransportType.ServerSentEvents); Assert.IsTrue(connected); server.Dispose(); } }
public static void Main(string[] args) { var consoleLogger = new ConsoleLogger(); var serverHandler = new RequestHandler(new FilesManager(), new ConsoleLogger(), new ServerAuthenticationProvider()); var server = new Server.Server(serverHandler, consoleLogger); server.Start(); Console.WriteLine("FILES SERVER v1.0 IS RUNNING.."); Console.WriteLine($"SERVER LISTENING ON HOSTNAME-{ server.Hostname}, PORT-{server.Port}"); Console.WriteLine("PRESS ANY KEY TO TERMINATE"); Console.WriteLine(); Console.ReadKey(); Console.WriteLine("STOPPING THE SERVER.."); server.Stop(); }
static void Main(string[] args) { //string _val = "0,95"; //float f = Convert.ToSingle(_val); //Console.WriteLine(f); Server.Server server = new Server.Server(); try { server.Start(); RemotingConfiguration.Configure("Matrix.Test.exe.config", false); Console.ReadKey(); } finally { server.Stop(); } Console.ReadKey(); }
public void Init() { _serverChannel = new TcpServerChannel(); _server = new Server.Server(new ServerConfig()) { Channel = _serverChannel }; _serverPort = _serverChannel.Init(); _serverChannel.Start(); _server.Start(); Thread.Sleep(500); //be sure the server is started _client = NewClient(); _client.RegisterTypeIfNeeded(typeof(CacheableTypeOk)); }
static void Main(string[] args) { try { var server = new Server.Server(); server.Start(); Console.WriteLine("Server started, press any key to quit"); Console.ReadKey(); server.Stop(); } catch (Exception e) { var logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); logger.Fatal(e); Console.ReadKey(); } }
private static void Main(string[] args) { ParseContextArgs(args); Title("Sandboxed Server"); PrintLine("\n\nNOTE"); PrintLine("This demo shows how-to secure a service using restricted app domain also known as \"sandboxing\"."); PrintLine("You may change `FileIOPermission` parameter to allow querying server file system."); PrintLine($"See `{typeof(Program).FullName}.{nameof(Main)}()`"); PrintLine("\n\nDISCLAIMER"); PrintLine("Sandboxing using Code Access Security (CAS) is a nice way to demonstrait both,"); PrintLine("validity of security concerns as well as countermeasures."); PrintLine("However, Microsoft advices against using CAS as security boundaries and"); PrintLine("recommends the use of security boundaries provided by the operating system,"); PrintLine("such as virtualization, containers, or user accounts, for running processes"); PrintLine("with the minimum set of privileges."); WaitForEnterKey("\n\nHit enter to continue..."); const string ip = "127.0.0.1"; const int port = 1234; PrintHeader("\n\n1st demo: running server in default app domain (full-trust -> unsecured)"); using (Server server = new Server(ip, port)) { server.Start(); new Client(ip, port).RunDemo(); } PrintHeader("\n\n2nd demo: running server in restricted app domain (partial-trust)"); AppDomain serverDomain = CreateServerAppDomain( new FileIOPermission(PermissionState.None), // <--- this prevents clients from enumerating the server's file system new SocketPermission(NetworkAccess.Accept, TransportType.Tcp, ip, port)); using (Server server = Create <Server>(serverDomain, ip, port)) { server.Start(); new Client(ip, port).RunDemo(); } WaitForEnterKey("\n\nHit enter to exit"); }
public void Data() { ResetState(); var server = new Server.Server(7200, null, OnServerConnection, null); server.Start(); var client = Client.Create(OnData, null, null); client.Connect(new IPEndPoint(IPAddress.Loopback, 7200)); _waiter.Wait(); Assert.True(_received); Assert.NotNull(_receivedData); for (int i = 0; i < _dataToSend.Length; i++) { Assert.Equal(_dataToSend[i], _receivedData[i]); } }
public void CreateServer() { server = new Server.Server(view.GetServerName()); server.MessageReceived += ShowMessage; server.Start(); }
public Connector(ClientConfig config) { if (Client == null) { if (config.Servers == null || config.Servers.Count == 0) { var channel = new InProcessChannel(); Client = new CacheClient { Channel = channel }; _server = new Server.Server(new ServerConfig(), config.IsPersistent) { Channel = channel }; _server.Start(); } else if (config.Servers.Count == 1) { var serverCfg = config.Servers[0]; var channel = new TcpClientChannel(new TcpClientPool(4, 1, serverCfg.Host, serverCfg.Port)); Client = new CacheClient { Channel = channel }; } else // multiple servers { var aggregator = new Aggregator(); var index = 0; foreach (var serverConfig in config.Servers) { var channel = new TcpClientChannel(new TcpClientPool(4, 1, serverConfig.Host, serverConfig.Port)); var client = new CacheClient { Channel = channel, ShardIndex = index, ShardsCount = config.Servers.Count }; aggregator.CacheClients.Add(client); index++; } Client = aggregator; } } // register types from client configuration foreach (var description in config.TypeDescriptions) { var type = Type.GetType(description.Value.FullTypeName + ", " + description.Value.AssemblyName); var typeDescription = Client.RegisterTypeIfNeeded(type, description.Value); _typeDescriptions.Add(typeDescription.FullTypeName, typeDescription); } }
protected override void OnStart(string[] args) { _server = new Server.Server(); _server.Start(); }
/*Overload for an argument that already has been supplied*/ public static void Execute(string ServerName) { Server.ServerList InitalizeSettings = new Server.ServerList(); if (InitalizeSettings.ServerExists(ServerName)) { Server.ServerInit.ServerSettings Settings = InitalizeSettings.GetServerByName(ServerName); // load in user settings. Server.Server srv = new Server.Server(Settings); // create a new object with those server settings Console.WriteLine(Settings.server_name + " starting."); srv.Start(); // start the server } else { Console.WriteLine("Invalid server name supplied."); } }
public ServerConnection(ServerAlias serverAlias, bool autoStart) { if (serverAlias == null) { throw new ClientException(ClientException.Codes.ServerAliasRequired); } _serverAlias = serverAlias; InProcessAlias inProcessAlias = _serverAlias as InProcessAlias; ConnectionAlias connectionAlias = _serverAlias as ConnectionAlias; try { if (inProcessAlias != null) { #if !SILVERLIGHT if (inProcessAlias.IsEmbedded) { ServerConfiguration configuration = InstanceManager.GetInstance(inProcessAlias.InstanceName); _hostedServer = new Server.Server(); configuration.ApplyTo(_hostedServer); if (autoStart) { _hostedServer.Start(); } } else { _serviceHost = new DataphorServiceHost(); _serviceHost.InstanceName = inProcessAlias.InstanceName; if (autoStart) { _serviceHost.Start(); } } #else throw new NotSupportedException("In-process aliases are not supported in Silverlight"); #endif } else { _clientServer = String.IsNullOrEmpty(connectionAlias.ClientConfigurationName) ? new ClientServer ( connectionAlias.HostName, connectionAlias.InstanceName, connectionAlias.OverridePortNumber, connectionAlias.SecurityMode, connectionAlias.OverrideListenerPortNumber, connectionAlias.ListenerSecurityMode ) : new ClientServer ( connectionAlias.HostName, connectionAlias.ClientConfigurationName ); _localServer = new LocalServer(_clientServer, connectionAlias.ClientSideLoggingEnabled, TerminalServiceUtility.ClientName); } } catch { CleanUp(); throw; } }