在unity3d中接受MQTT消息协议数据C# .net,M2Mqtt

本文介绍如何使用M2Mqtt库在Unity中实现MQTT客户端,包括连接服务器、订阅主题、接收消息及发布消息等基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

具体关于MQTT是什么具体就不说了,百度一下,你就知道。这里用的是M2Mqtt的类库。可以去查官网然后git下来自己生成一下。接下来直接上unity客户端的本地代码:

需要提前导入生成的DLL。

using UnityEngine;
using System.Collections;
using System.Net;
using System.Text;
using uPLibrary.Networking.M2Mqtt;
using uPLibrary.Networking.M2Mqtt.Messages;

public class Mqtt : MonoBehaviour
{

    private MqttClient mqttClient;

    void Awake()
    {
        //链接服务器
        mqttClient = new MqttClient(IPAddress.Parse("192.168.1.163"));
       
        //注册服务器返回信息接受函数
        mqttClient.MqttMsgPublishReceived += client_MqttMsgPublishReceived;
        //客户端ID  一个字符串
        mqttClient.Connect("zsc");
        //监听FPS字段的返回数据
        mqttClient.Subscribe(new string[] { "fps" }, new byte[] { MqttMsgBase.QOS_LEVEL_AT_LEAST_ONCE });
    }
	void Start () {
	
	}
	
	// Update is called once per frame
	void Update () {

	    if (Input.GetMouseButtonDown(0))
	    {
            //这个字符串是向服务器发送的数据信息
            string strValue = "123";
            // 发送一个内容是123 字段是klabs的信息
            mqttClient.Publish("klabs", Encoding.UTF8.GetBytes(strValue)); 
            Debug.Log("发送数据123");
	    }
	}

    static void client_MqttMsgPublishReceived(object sender, MqttMsgPublishEventArgs e)
    {
        // handle message received
        Debug.Log("返回数据");
        string msg = System.Text.Encoding.Default.GetString(e.Message);
        Debug.Log(msg);
    }
}

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值