Last active
January 26, 2020 07:45
-
-
Save Drawaes/699b42621f31d83f8bf68b1acdcf0185 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private static async Task RunLoopClient(int loopCount) | |
{ | |
var sw = System.Diagnostics.Stopwatch.StartNew(); | |
var sc = new ServiceCollection(); | |
var sp = sc.BuildServiceProvider(); | |
var client = new ClientBuilder(sp).UseSockets().Build(); | |
await using var connection = await client.ConnectAsync(new IPEndPoint(IPAddress.Loopback, 7777)); | |
var httpProtocol = new HttpClientProtocol(connection); | |
for(var i = 0; i < loopCount;i++) | |
{ | |
var response = await httpProtocol.SendAsync(new HttpRequestMessage(HttpMethod.Get, "/Test")); | |
await response.Content.CopyToAsync(Stream.Null); | |
} | |
sw.Stop(); | |
Console.WriteLine($"Bedrock {loopCount} requests took {sw.ElapsedMilliseconds}ms or {(double)loopCount / sw.ElapsedMilliseconds * 1000} rps"); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class HttpApplication : ConnectionHandler | |
{ | |
public override async Task OnConnectedAsync(ConnectionContext connection) | |
{ | |
var httpProtocol = new HttpServerProtocol(connection); | |
while(true) | |
{ | |
var request = await httpProtocol.ReadRequestAsync(); | |
await request.Content.CopyToAsync(Stream.Null); | |
var response = new HttpResponseMessage(System.Net.HttpStatusCode.OK) | |
{ | |
Content = new StringContent("Hi"), | |
}; | |
await httpProtocol.WriteResponseAsync(response); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment