private async void StartClient(IPEndPoint point) { await Task.Delay(3000); SocketConnectionFactory client = new SocketConnectionFactory(new SocketTransportOptions()); var connection = client.ConnectAsync(point).Result; Console.WriteLine("Client: Connected!"); var buffer = Encoding.UTF8.GetBytes("test"); Task.Run(async() => { var result = await connection.Transport.Input.ReadAsync(); Result = Encoding.UTF8.GetString(result.Buffer.FirstSpan); }); await connection.Transport.Output.WriteAsync(buffer); Console.WriteLine("Client: Data has been send!"); while (Result == default) { Thread.Sleep(1000); Console.WriteLine("Client: Loop!"); } Assert.Contains("test", Result); await client.DisposeAsync(); }
public void Attack() { Task.Run(() => { Thread.Sleep(300); using (ISocketClientConnection connection = SocketConnectionFactory.GetConnection()) { for (int i = 0; i < TotalFired; i++) { try { connection.SendRequest("CustomerController", "AddCustomer", new { customer = $"Customer n {i + 1} of attacker #{AttackerId}" }); if (connection.GetResult().Status == 600) { RequestsSuccess += 1; } else { RequestFails += 1; } } catch { RequestFails += 1; } } manager.EndBatch(TotalFired, RequestsSuccess, RequestFails); } }); }
static async Task Main(string[] args) { PreparedHeaderSet preparedHeaders = new PreparedHeaderSetBuilder() .AddHeader("User-Agent", "NetworkToolkit") .AddHeader("Accept", "text/html") .Build(); await using ConnectionFactory connectionFactory = new SocketConnectionFactory(); await using Connection connection = await connectionFactory.ConnectAsync(new DnsEndPoint ("microsoft.com", 80)); await using HttpConnection httpConnection = new Http1Connection(connection, HttpPrimitiveVersion.Version11); int requestCounter = 0; await SingleRequest(); await SingleRequest(); async Task SingleRequest() { await using ValueHttpRequest request = (await httpConnection.CreateNewRequestAsync(HttpPrimitiveVersion.Version11, HttpVersionPolicy.RequestVersionExact)).Value; request.ConfigureRequest(contentLength: 0, hasTrailingHeaders: false); request.WriteRequest(HttpMethod.Get, new Uri("http://microsoft.com")); request.WriteHeader(preparedHeaders); request.WriteHeader("X-Example-RequestNo", requestCounter++.ToString()); await request.CompleteRequestAsync(); await request.DrainAsync(); } }
static void Main() { SocketConnectionFactory.SetDefaultSettings(new SocketClientSettings ( "localhost", 2500, Encoding.UTF8 )); using (ISocketClientConnection connection = SocketConnectionFactory.GetConnection()) { connection.SendRequest("controller", "action", new { nome = "XPTO", idade = 39, outroParametroQualquer = Guid.NewGuid() }); var response = connection.ReadResponse(); } Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); }
static async Task Main(string[] args) { await using ConnectionFactory connectionFactory = new SocketConnectionFactory(); await using Connection connection = await connectionFactory.ConnectAsync(new DnsEndPoint ("microsoft.com", 80)); await using HttpConnection httpConnection = new Http1Connection(connection); await using (ValueHttpRequest request = (await httpConnection.CreateNewRequestAsync(HttpPrimitiveVersion.Version11, HttpVersionPolicy.RequestVersionExact)).Value) { request.ConfigureRequest(contentLength: 0, hasTrailingHeaders: false); request.WriteRequest(HttpMethod.Get, new Uri("http://microsoft.com")); request.WriteHeader("Accept", "text/html"); await request.CompleteRequestAsync(); await request.ReadToFinalResponseAsync(); Console.WriteLine($"Final response code: {request.StatusCode}"); if (await request.ReadToHeadersAsync()) { await request.ReadHeadersAsync(new PrintingHeadersSink(), state : null); } else { Console.WriteLine("No headers received."); } if (await request.ReadToContentAsync()) { long totalLen = 0; var buffer = new byte[4096]; int readLen; do { while ((readLen = await request.ReadContentAsync(buffer)) != 0) { totalLen += readLen; } }while (await request.ReadToNextContentAsync()); Console.WriteLine($"Received {totalLen} byte response."); } else { Console.WriteLine("No content received."); } if (await request.ReadToTrailingHeadersAsync()) { await request.ReadHeadersAsync(new PrintingHeadersSink(), state : null); } else { Console.WriteLine("No trailing headers received."); } } }
private ISocketClientConnection GetClient() { IServiceManager manager = ServiceManager.GetInstance(); logging = manager.GetService <ILoggingService>(); ICoreServerService coreServer = manager.GetService <ICoreServerService>(); ServerConfiguration config = coreServer.GetConfiguration(); ISocketClientConnection connection = SocketConnectionFactory .GetConnection(new SocketClientSettings("localhost", config.Port, config.ServerEncoding)); return(connection); }
public PingPongTest() { var endpoit = new IPEndPoint(IPAddress.Parse("123.57.78.153"), 9379); SocketConnectionFactory client = new SocketConnectionFactory(new SocketTransportOptions()); connection = client.ConnectAsync(endpoit).Result; connection.Transport.Output.WriteAsync(Encoding.UTF8.GetBytes("AUTH 0f649985e1ae10a\r\n")); var result = connection.Transport.Output.WriteAsync(Encoding.UTF8.GetBytes("SELECT 15\r\n")).Result; Thread.Sleep(3000); var readResult = connection.Transport.Input.ReadAsync().Result; var data = Encoding.UTF8.GetString(readResult.Buffer.FirstSpan); Console.WriteLine(data); connection.Transport.Input.AdvanceTo(readResult.Buffer.End); }
private ISocketClientConnection BuildClient(SubServer server) { try { return(SocketConnectionFactory.GetConnection(new SocketClientSettings( server: server.Address, port: server.Port, encoding: server.Encoding, maxAttempts: server.MaxConnectionAttempts ))); } catch (Exception ex) { Logger.WriteLog($"Fail to connect server {server.Address}:{server.Port} : {ex.Message}", ServerLogType.ERROR); return(null); } }
static void Main(string[] args) { try { SocketConnectionFactory.SetDefaultSettings(new SocketClientSettings( "localhost", 7001, Encoding.UTF8, 3 )); using (ISocketClientConnection conn = SocketConnectionFactory.GetConnection()) { } } catch (Exception ex) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(ex.Message); } }
public PingPongTest() { using (StreamReader stream = new StreamReader("Redis.rsf")) { ip = stream.ReadLine(); port = int.Parse(stream.ReadLine()); pwd = stream.ReadLine(); } var endpoit = new IPEndPoint(IPAddress.Parse("127"), 12); SocketConnectionFactory client = new SocketConnectionFactory(new SocketTransportOptions()); connection = client.ConnectAsync(endpoit).Result; connection.Transport.Output.WriteAsync(Encoding.UTF8.GetBytes("AUTH \r\n")); var result = connection.Transport.Output.WriteAsync(Encoding.UTF8.GetBytes("SELECT 15\r\n")).Result; Thread.Sleep(3000); var readResult = connection.Transport.Input.ReadAsync().Result; var data = Encoding.UTF8.GetString(readResult.Buffer.FirstSpan); Console.WriteLine(data); connection.Transport.Input.AdvanceTo(readResult.Buffer.End); }
static async Task Main(string[] args) { // Manual wire up of the client var services = new ServiceCollection().AddLogging(builder => { builder.SetMinimumLevel(LogLevel.Debug); builder.AddConsole(); }); services.AddScoped <MessageHandler <HandshakeMessage>, HandshakeMessageHandler>(); services.Add <MessageMetadataParser, MessageMetadata>(); services.AddSingleton <ClientConnectionHandler>(); services.AddSingleton(sp => { var builder = new ServerFramingBuilder(sp); builder.Mappings.Add((HandshakeMessage.Id, typeof(HandshakeMessage))); builder.MessageWriter = new MessageWriter(builder.Parser); builder.MessageReader = new MessageReader(); builder.UseMessageEncoder(); return(builder.Build()); }); var serviceProvider = services.BuildServiceProvider(); var connectionHandler = serviceProvider .GetRequiredService <ClientConnectionHandler>(); var clientFactory = new SocketConnectionFactory(); Console.WriteLine("Press any key to start connection."); Console.ReadKey(); await using var connection = await clientFactory.ConnectAsync( new IPEndPoint (IPAddress.Loopback, 5000)); await connectionHandler.OnConnectedAsync(connection).ConfigureAwait(false); }
public SocketListener(SocketConnectionFactory connectionFactory, Socket listener) { _connectionFactory = connectionFactory; _listener = listener; }