MQTTnet入门(一) - 创建最简易的MQTT服务器

5 篇文章 6 订阅

MQTTnet入门(一) - 创建最简易的MQTT服务器

前言

最近工作中需要用到MQTT通信,考虑到使用场景、成本和拓展性的问题,经过一番比较决定采用MQTTnet来自行搭建小型的MQTT服务。之前也没有接触过MQTT服务器的开发,且该库在国内的资料不是很多,所以决定一边开发一边编写该系列的学习笔记。

MQTTnet简介

MQTTnet is a high performance .NET library for MQTT based communication. It provides a MQTT client and a MQTT server (broker).

MQTTnet是用于基于MQTT的通信的高性能.NET库。它提供了一个MQTT客户端和一个MQTT服务器。
它是在.Net Core框架下开发的,因此支持跨平台运行,
更加具体的介绍就不在这里描述了,直接在该开源项目在Github上的主页阅读原版的介绍吧。
跳转至 MQTTnet Github

创建简易的MQTT服务器Demo

创建.Net Core项目

创建一个基于.Net Core的控制台程序。
在这里插入图片描述
如果没有找到该项请翻页至最底部,在线安装.Net Core框架。
在这里插入图片描述

引用MQTTnet库

在NuGet包管理器中在线搜索MQTTnet库,下载之。
在这里插入图片描述

编写Demo程序并运行

最精简的MQTT服务器其实只需要三步:创建、启动、关闭,因此我们暂不考虑打印信息、客户端验证等功能,只编写这三部的代码即可。

using MQTTnet;
using MQTTnet.Server;
using System;

namespace MQTTnet
{
    class Program
    {
        static async System.Threading.Tasks.Task Main(string[] args)
        {
            // 利用MqttFactory创建MQTT服务器
            IMqttServer mqttServer = new MqttFactory().CreateMqttServer();

            // 采用异步方式启动服务(使用默认的服务器启动配置)
            await mqttServer.StartAsync(new MqttServerOptions());

            Console.WriteLine("按任意键退出程序...");
            Console.ReadLine();

            // 异步关闭MQTT服务
            await mqttServer.StopAsync();
        }
    }
}

编译运行之。
到这里,一个最简易的MQTT服务就已经完成了。黑窗口中只有一句冷冰冰的“按任意键退出程序…”,但该服务以及可以被订阅和发布topic了。

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猿长大人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值