mirror of
https://github.com/dotnet/MQTTnet.git
synced 2026-10-28 17:22:37 +08:00
Improve performance test.
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -8,6 +8,7 @@ using System.IO;
|
|||||||
using System.Net.Security;
|
using System.Net.Security;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using MQTTnet.Client;
|
||||||
|
|
||||||
namespace MQTTnet.TestApp.NetCore
|
namespace MQTTnet.TestApp.NetCore
|
||||||
{
|
{
|
||||||
@@ -30,6 +31,7 @@ namespace MQTTnet.TestApp.NetCore
|
|||||||
Console.WriteLine("a = Start QoS 2 benchmark");
|
Console.WriteLine("a = Start QoS 2 benchmark");
|
||||||
Console.WriteLine("b = Start QoS 1 benchmark");
|
Console.WriteLine("b = Start QoS 1 benchmark");
|
||||||
Console.WriteLine("c = Start QoS 0 benchmark");
|
Console.WriteLine("c = Start QoS 0 benchmark");
|
||||||
|
Console.WriteLine("c = Start QoS 0 benchmark");
|
||||||
|
|
||||||
var pressedKey = Console.ReadKey(true);
|
var pressedKey = Console.ReadKey(true);
|
||||||
if (pressedKey.KeyChar == '1')
|
if (pressedKey.KeyChar == '1')
|
||||||
@@ -85,11 +87,51 @@ namespace MQTTnet.TestApp.NetCore
|
|||||||
|
|
||||||
Thread.Sleep(Timeout.Infinite);
|
Thread.Sleep(Timeout.Infinite);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
static int _count;
|
||||||
|
|
||||||
|
static async Task ClientTestWithHandlers()
|
||||||
|
{
|
||||||
|
//private static int _count = 0;
|
||||||
|
|
||||||
|
var factory = new MqttFactory();
|
||||||
|
var mqttClient = factory.CreateMqttClient();
|
||||||
|
|
||||||
|
var options = new MqttClientOptionsBuilder()
|
||||||
|
.WithClientId("mqttnetspeed")
|
||||||
|
.WithTcpServer("#serveraddress#")
|
||||||
|
.WithCredentials("#username#", "#password#")
|
||||||
|
.WithCleanSession()
|
||||||
|
.Build();
|
||||||
|
|
||||||
|
//mqttClient.ApplicationMessageReceived += (s, e) => // version 2.8.5
|
||||||
|
mqttClient.UseApplicationMessageReceivedHandler(e => // version 3.0.0+
|
||||||
|
{
|
||||||
|
Interlocked.Increment(ref _count);
|
||||||
|
});
|
||||||
|
|
||||||
|
//mqttClient.Connected += async (s, e) => // version 2.8.5
|
||||||
|
mqttClient.UseConnectedHandler(async e => // version 3.0.0+
|
||||||
|
{
|
||||||
|
Console.WriteLine("### CONNECTED WITH SERVER ###");
|
||||||
|
await mqttClient.SubscribeAsync("topic/+", MQTTnet.Protocol.MqttQualityOfServiceLevel.AtLeastOnce);
|
||||||
|
Console.WriteLine("### SUBSCRIBED ###");
|
||||||
|
});
|
||||||
|
|
||||||
|
await mqttClient.ConnectAsync(options);
|
||||||
|
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"{Interlocked.Exchange(ref _count, 0)}/s");
|
||||||
|
await Task.Delay(TimeSpan.FromSeconds(1));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public class RetainedMessageHandler : IMqttServerStorage
|
public class RetainedMessageHandler : IMqttServerStorage
|
||||||
{
|
{
|
||||||
private const string Filename = "C:\\MQTT\\RetainedMessages.json";
|
const string Filename = "C:\\MQTT\\RetainedMessages.json";
|
||||||
|
|
||||||
public Task SaveRetainedMessagesAsync(IList<MqttApplicationMessage> messages)
|
public Task SaveRetainedMessagesAsync(IList<MqttApplicationMessage> messages)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user