c# MES 对接之二(MQTT、Restful、RabbitMQ)

这篇具有很好参考价值的文章主要介绍了c# MES 对接之二(MQTT、Restful、RabbitMQ)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

//以下是C# MES对接的示例代码:

//1. MQTT

//使用M2Mqtt库实现C#与MQTT的通信,示例代码如下:

//csharp
using System;
using System.Text;
using uPLibrary.Networking.M2Mqtt;
using uPLibrary.Networking.M2Mqtt.Messages;

class Program
{
    static void Main(string[] args)
    {
        // 创建MQTT客户端实例
        MqttClient client = new MqttClient("localhost");

        // 注册连接事件
        client.MqttMsgConnected += Client_MqttMsgConnected;

        // 注册消息接收事件
        client.MqttMsgPublishReceived += Client_MqttMsgPublishReceived;

        // 连接到MQTT服务器
        client.Connect(Guid.NewGuid().ToString());

        // 订阅主题
        client.Subscribe(new string[]  { "test" },

                                  new byte[] { MqttMsgBase.QOS_LEVEL_AT_LEAST_ONCE  }

                                 );

        // 发布消息
        client.Publish("test", Encoding.UTF8.GetBytes("Hello, MQTT!"));
    }

    private static void Client_MqttMsgConnected(object sender, MqttMsgConnectEventArgs e)
    {
        Console.WriteLine("Connected to MQTT broker.");
    }

    private static void Client_MqttMsgPublishReceived(object sender,

                                                                                     MqttMsgPublishEventArgs e)
    {
        Console.WriteLine("Received message: " + Encoding.UTF8.GetString(e.Message));
    }
}
//

//2. Restful

//使用HttpClient库实现C#与Restful的通信,示例代码如下:

//csharp
using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        // 创建HttpClient实例
        HttpClient client = new HttpClient();

        // 发送GET请求
        HttpResponseMessage response = await client.GetAsync("http://localhost:8080/api/test");

        // 获取响应内容
        string content = await response.Content.ReadAsStringAsync();

        // 输出响应内容
        Console.WriteLine(content);
    }
}
//

//3. RabbitMQ

//使用RabbitMQ.Client库实现C#与RabbitMQ的通信,示例代码如下:

//csharp
using System;
using System.Text;
using RabbitMQ.Client;
using RabbitMQ.Client.Events;

class Program
{
    static void Main(string[] args)
    {
        // 创建RabbitMQ连接工厂
        ConnectionFactory factory = new ConnectionFactory()
        {
            HostName = "localhost",
            UserName = "guest",
            Password = "guest"
        };

        // 创建RabbitMQ连接
        using (IConnection connection = factory.CreateConnection())
        {
            // 创建RabbitMQ通道
            using (IModel channel = connection.CreateModel())
            {
                // 定义队列
                channel.QueueDeclare(queue: "test",
                                     durable: false,
                                     exclusive: false,
                                     autoDelete: false,
                                     arguments: null);

                // 注册消息接收事件
                EventingBasicConsumer consumer = new EventingBasicConsumer(channel);
                consumer.Received += (model, ea) =>
                {
                    byte[] body = ea.Body.ToArray();
                    string message = Encoding.UTF8.GetString(body);
                    Console.WriteLine("Received message: " + message);
                };
                channel.BasicConsume(queue: "test",
                                     autoAck: true,
                                     consumer: consumer);

                // 发布消息
                string message = "Hello, RabbitMQ!";
                byte[] body = Encoding.UTF8.GetBytes(message);
                channel.BasicPublish(exchange: "",
                                     routingKey: "test",
                                     basicProperties: null,
                                     body: body);
            }
        }
    }
}
//文章来源地址https://www.toymoban.com/news/detail-490439.html

到了这里,关于c# MES 对接之二(MQTT、Restful、RabbitMQ)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 用友U8与MES系统API接口对接案例分析

    领导层对企业资源规划(ERP)的深刻理解促使了数字化转型的启动。 采用精确的“N+5”滚动计划,为供应商提供充分的预期信息,确保准时化生产。 精细管理刀具采购和车间设备,优化生产计划和过程。 通过轻易云数据集成平台实现MES与ERP的无缝对接。 引入无线条码技术,

    2024年02月09日
    浏览(35)
  • PLC通过HTTP协议JSON文件格式对接MES等系统平台

            智能网关IGT-DSER集成了多种PLC、智能仪表的原厂协议,方便实现各种PLC与MES等系统平台之间的HTTP协议通讯,通过网关的参数配置软件绑定JSON文件的字段与PLC寄存器地址,配置URL,即可通过POST/GET命令,将JSON文件提交给HTTP的服务端; 如果服务端有返回的JSON,网关进行

    2024年02月09日
    浏览(43)
  • Angular安全专辑之二——‘unsafe-eval’不是以下内容安全策略中允许的脚本源

    一:错误出现 这个错误的意思是,拒绝将字符串评估为 JavaScript,因为‘unsafe-eval’不是以下内容安全策略中允许的脚本源。 二:错误场景 类似的不安全的表达式还有: eval() Function() ——When passing a string literal like to methods like: setTimeout(\\\"alert(\\\"Hello World!\\\");\\\", 500); setTimeout() s

    2024年02月12日
    浏览(48)
  • 35 | RESTful & Socket:行情数据对接和抓取

    上一节,我们介绍了交易所的交易模式,数字货币交易所 RESTful 接口的常见概念,以及如何调用 RESTful 接口进行订单操作。众所周知,买卖操作的前提,是你需要已知市场的最新情况。这节课里,将介绍交易系统底层另一个最重要的部分,行情数据的对接和抓取。 行情数据,

    2024年02月05日
    浏览(36)
  • 工业4.0时代生产系统对接集成优势,MES和ERP专业一体化管理-亿发

    在现代制造业中,市场变化都在不断加速。企业面临着不断加强生产效率、生产质量和快速适应市场需求的挑战。在制造行业,日常管理中的ERP系统、MES系统就显得尤为重要。越来越多的企业正在采用MES系统和ERP管理系统的融合,以实现智能化生产管理。 MES系统的关键作用:

    2024年02月09日
    浏览(54)
  • Android - 对接MQTT

    首先你得知道这是什么吧,稀里糊涂抄一大堆完事就忘了可不行。 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输),MQTT是一个客户端服务端架构的发布/订阅模式的消息传输协议。 MQTT有 三个角色 : 服务端 客户端(简单理解为手机端) 主题(是接收呢,还是发送)

    2024年02月15日
    浏览(36)
  • Qt + mqtt对接阿里云平台(一)

    官网:点击跳转 根据之前的操作,我们可以下载得到一个压缩包,将其解压,然后修改 mqtt_basic_demo.c 里面的相应代码: 1)修改product_key、device_name、device_secret 2)修改mqtt_host 由于我是21年之前注册的,并且地址为 华东2(上海),所以修改该值为: const char  *mqtt_host = “${

    2024年03月08日
    浏览(39)
  • ES 的 RESTFUL API 常用示例

    目录 前言 一、创建索引 二、新增或修改记录 三、删除数据 四、查询数据 在这里记录ES的几种简单的 restful api操作,方便使用es开发过程中数据的模拟与验证。 下面示例中用到的index统一为blog,type统一为article。 创建一个index为blog的索引,索引中的type为articl 如果在创建索引

    2024年02月12日
    浏览(52)
  • Restful风格使用postman测试接口【增删查改示例】

    Postman 最早是google的一个插件存在的,但是又google退出中国以及postman团队对工具的定位,主攻pc端app的开发及优化,现在的google插件已经很少再使用了,postman虽然是一个商用软件,但是对于我们普通用户来说,基本功能完全够用的。 Postman 从最初设计上就是为接口测试而生的

    2024年02月06日
    浏览(53)
  • 基于RabbitMQ的模拟消息队列之二---创建项目及核心类

    创建一个SpringBoot项目,环境:JDK8,添加依赖:Spring Web、MyBatis FrameWork(最主要) 2.核心类 在mqserver包中添加一个包,名字为core,表示核心类。 Exchange ExchangeType MSGQueue (为了区分Queue) Binding Message BasicProperties

    2024年02月11日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包