WingMan – Rev 1
?pathlinks?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using MQTTnet;
using MQTTnet.Server;
namespace WingMan.Host
{
public class MQTTServer
{
private IMqttServer Server { get; set; }
public bool ServerRunning { get; set; }
public MQTTServer()
{
Server = new MqttFactory().CreateMqttServer();
}
public async Task Stop()
{
await Server.StopAsync().ConfigureAwait(false);
ServerRunning = false;
}
public async Task Start(IPAddress ipAddress, int port)
{
var optionsBuilder = new MqttServerOptionsBuilder()
.WithDefaultEndpointBoundIPAddress(ipAddress)
.WithDefaultEndpointPort(port);
await Server.StartAsync(optionsBuilder.Build()).ConfigureAwait(false);
ServerRunning = true;
}
}
}