当前位置: 首页 > wzjs >正文

做商业网站要交税吗网络推广公司经营范围

做商业网站要交税吗,网络推广公司经营范围,搜索大全引擎地址,网站做中英版一、MQTTNet 简介 MQTTnet 是一个高性能的MQTT类库,支持.NET Core和.NET Framework。 二、MQTTNet 原理 MQTTnet 是一个用于.NET的高性能MQTT类库,实现了MQTT协议的各个层级,包括连接、会话、发布/订阅、QoS(服务质量&#xff0…

一、MQTTNet 简介

MQTTnet 是一个高性能的MQTT类库,支持.NET Core和.NET Framework。

二、MQTTNet 原理

MQTTnet 是一个用于.NET的高性能MQTT类库,实现了MQTT协议的各个层级,包括连接、会话、发布/订阅、QoS(服务质量)等。其原理涉及以下关键概念

1、MqttClient: MqttClient 是MQTTnet库中表示客户端的主要类。它负责与MQTT服务器建立连接,并处理消息的发布和订阅。

2、MqttServer: MqttServer 则表示MQTT服务器,负责接受客户端的连接,管理连接状态,并转发消息到相应的订阅

3、消息处理: MQTT消息分为发布消息和订阅消息。发布消息由客户端发送到服务器,然后由服务器广播给所有订阅者。

4、QoS(服务质量): MQTT支持不同级别的服务质量,包括0、1和2。MQTTnet允许你根据需要选择适当的QoS级别。

5、异步通信: MQTTnet广泛使用异步编程模型,允许并发处理多个连接,提高性能。

三、MQTTNet 优点

1、高性能: MQTTnet被设计为高性能的MQTT库,适用于处理大量的消息和连接。

2、跨平台: 支持.NET Core和.NET Framework,使其可以在不同的操作系统上运行。

3、灵活性: 提供了许多配置选项,允许你根据应用程序的需求进行调整。

4、WebSocket支持: 支持通过WebSocket协议进行通信,适用于Web应用程序。

5、活跃社区: MQTTnet有一个活跃的社区,提供了文档、示例和支持。

四、MQTTNet  使用示例

使用方法(服务端、客户端、WEB端)

下面是一个简单的示例,演示如何在.NET Core中使用MQTTnet创建一个基本的MQTT服务端和客户端。请注意,这个示例只是为了演示基本概念,实际应用中可能需要更多的配置和错误处理。

服务器端:

using System;
using MQTTnet;
using MQTTnet.Server;class Program
{static async System.Threading.Tasks.Task Main(string[] args){// 创建服务端配置var optionsBuilder = new MqttServerOptionsBuilder().WithDefaultEndpointPort(1883).WithConnectionValidator(c =>{Console.WriteLine($"Client connected: {c.ClientId}");// 可以在这里添加连接验证逻辑});// 创建MQTT服务器实例var mqttServer = new MqttFactory().CreateMqttServer();// 处理连接成功事件mqttServer.ClientConnectedHandler = new MqttServerClientConnectedHandlerDelegate(e =>{Console.WriteLine($"Client connected: {e.ClientId}");});// 处理连接断开事件mqttServer.ClientDisconnectedHandler = new MqttServerClientDisconnectedHandlerDelegate(e =>{Console.WriteLine($"Client disconnected: {e.ClientId}");});// 处理接收到消息事件mqttServer.ApplicationMessageReceivedHandler = new MqttApplicationMessageReceivedHandlerDelegate(e =>{Console.WriteLine($"Received message from client {e.ClientId}: {e.ApplicationMessage.Payload}");});// 启动MQTT服务器await mqttServer.StartAsync(optionsBuilder.Build());Console.WriteLine("MQTT Server已启动。按任意键退出。");Console.ReadLine();// 停止MQTT服务器await mqttServer.StopAsync();}
}

客户端链接:

using System;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using MQTTnet;
using MQTTnet.Client;
using MQTTnet.Client.Options;class Program
{static async Task Main(string[] args){// 创建客户端配置var options = new MqttClientOptionsBuilder().WithTcpServer("localhost", 1883).WithClientId("Client1") // 客户端ID.Build();// 创建MQTT客户端实例var mqttClient = new MqttFactory().CreateMqttClient();// 处理连接成功事件mqttClient.UseConnectedHandler(e =>{Console.WriteLine("Connected to MQTT Broker");});// 处理连接断开事件mqttClient.UseDisconnectedHandler(e =>{Console.WriteLine("Disconnected from MQTT Broker");});// 处理接收到消息事件mqttClient.UseApplicationMessageReceivedHandler(e =>{Console.WriteLine($"Received message: {e.ApplicationMessage.Payload}");});// 连接到MQTT服务器await mqttClient.ConnectAsync(options, CancellationToken.None);// 发布消息var message = new MqttApplicationMessageBuilder().WithTopic("topic/test").WithPayload("Hello, MQTT!").WithExactlyOnceQoS().WithRetainFlag().Build();await mqttClient.PublishAsync(message, CancellationToken.None);Console.WriteLine("Message published. Press any key to exit.");Console.ReadLine();// 断开与MQTT服务器的连接await mqttClient.DisconnectAsync();}
}

Web端链接:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><script src="https://cdnjs.cloudflare.com/ajax/libs/mqtt/4.0.0/mqtt.min.js"></script><title>MQTT Web Client</title>
</head>
<body><h1>MQTT Web Client</h1><script>// 连接到MQTT服务器const client = mqtt.connect('mqtt://your-mqtt-broker-url');// 当连接成功时的处理逻辑client.on('connect', function () {console.log('Connected to MQTT Broker');// 订阅主题client.subscribe('topic/test', function (err) {if (!err) {console.log('Subscribed to topic/test');}});// 发布消息client.publish('topic/test', 'Hello, MQTT!');});// 当接收到消息时的处理逻辑client.on('message', function (topic, message) {console.log('Received message:', message.toString());});// 处理连接断开事件client.on('close', function () {console.log('Connection closed');});// 处理错误事件client.on('error', function (err) {console.error('Error:', err);});</script>
</body>
</html>

总结

以上代码中对连接断开事件处理(UseDisconnectedHandler、Web端的close事件)和错误事件处理(Web端的error事件)。

这些事件处理可以根据实际需求进一步扩展。

文章来源:.NET 中MQTTnet使用方法,物联网通讯必备 - MQTT中文站

更多:

MQTT协议介绍

微信小程序WebSocket使用案例

Asp.Net Core6 WebSocket 简单案例

http://www.dtcms.com/wzjs/440796.html

相关文章:

  • 如何做企业网站开发百度注册入口
  • 韩城网站建设刷赞网站推广空间免费
  • 冠县哪做网站公司网站建设推广
  • 长沙有实力的关键词优化价格seo关键词优化排名公司
  • 免费空间最大的网盘seo关键词优化推广
  • 郑州网站建设企起网站下载
  • 做建网站的公司项目外包平台
  • 日照网站建设aso优化排名推广
  • 怎么做公司的宣传网站自媒体推广平台
  • 西青做网站汕头网站排名优化
  • 杨凯做网站山东泰安网络推广
  • 电脑怎么下免费wordpressseo服务合同
  • 营销网站建设服务做推广的技巧
  • 做分销网站关键词优化排名网站
  • 网站建设模板坏处湖南seo网站多少钱
  • 智慧团建网站登录密码是啥哪个模板建站好
  • 网站开发和优化关系搭建网站需要哪些步骤
  • 一般通过逸民seo免费推广软件
  • 做网站 会计分录互联网营销师证书骗局
  • 江苏科技大学新校区建设网站东莞疫情最新消息通知
  • 找做钢筋笼的活网站百度小说排行榜总榜
  • 做企业网站的研究现状深圳推广公司有哪些
  • 怎么做门户网站搜索引擎优化行业
  • 不会代码怎么做网站怎样在百度上宣传自己的产品
  • 电子商务网站建设实验原理seo怎么刷排名
  • 如何制作一个网站h5今日冯站长之家
  • 建设工程教育网校百度seo关键词排名技术
  • WordPress安装子目录如何进行网站性能优化?
  • 网站开发指的是什么推广的渠道和方法有哪些
  • 做app和网站合肥全网推广