mqtt发布端代码

function guidGenerator() {
var S4 = function() {
return (((1+Math.random())*0x10000)|0).toString(16).substring(1);
};
return (S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4());
}
function CGUI()
{
document.getElementById("GUIDshow").innerHTML=guidGenerator();
}

package com.demo.mqttv3Server;

import org.eclipse.paho.client.mqttv3.MqttClient;
import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
import org.eclipse.paho.client.mqttv3.MqttDeliveryToken;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.eclipse.paho.client.mqttv3.MqttPersistenceException;
import org.eclipse.paho.client.mqttv3.MqttTopic;
import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;

import com.demo.mqttv3Callback.PushCallback;

public class Server {  
	  
    public static final String HOST = "tcp://127.0.0.1:61613";  
  
    public static final String TOPIC = "yangyjwangxbkkk";  
    private static final String clientid ="server";   
  
    private MqttClient client;  
    private MqttTopic topic;  
    private String userName = "admin";  
    private String passWord = "password";  
  
    private MqttMessage message;  
  
    public Server() throws MqttException {  
         //MemoryPersistence设置clientid的保存形式,默认为以内存保存  
        client = new MqttClient(HOST, clientid, new MemoryPersistence());  
        connect();  
    }  
      
    private void connect() {  
        MqttConnectOptions options = new MqttConnectOptions();  
        options.setCleanSession(false);  
        options.setUserName(userName);  
        options.setPassword(passWord.toCharArray());  
        // 设置超时时间  
        options.setConnectionTimeout(10);  
        // 设置会话心跳时间  
        options.setKeepAliveInterval(20);  
        try {  
               client.setCallback(new PushCallback());  
               client.connect(options); 
                 
        } catch (Exception e) {  
               e.printStackTrace();  
        }  
    }  
      
    public void publish(MqttMessage message) throws MqttPersistenceException, MqttException{  
    	topic = client.getTopic(TOPIC);
        MqttDeliveryToken token = topic.publish(message);  
        token.waitForCompletion();  
        System.out.println(token.isComplete()+"========");  
    }  
  
    public static void main(String[] args) throws MqttException {  	
        Server server =  new Server();  
        server.message = new MqttMessage();
        server.message.setQos(1);  
        server.message.setRetained(true);  
        server.message.setPayload("djhfjsdfhgjsdkjfdghjdfrghj".getBytes()); 
        server.publish(server.message);  
        System.out.println(server.message.isRetained()+"------ratained状态");  
    }  
  
}  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一段简单的AndroidMQTT代码示例: 首先,在AndroidManifest.xml文件中添加以下权限: ```xml <uses-permission android:name="android.permission.INTERNET" /> ``` 然后,在Java文件中引入以下依赖库: ```java implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.5' ``` 接下来,在需要使用MQTT的地方创建一个MqttAndroidClient对象,并设置相关参数(例如服务器地址、客户ID、用户名、密码等): ```java String serverUri = "tcp://mqtt.server.com:1883"; String clientId = "android-client-id"; String username = "username"; String password = "password"; MqttAndroidClient client = new MqttAndroidClient(context, serverUri, clientId); MqttConnectOptions options = new MqttConnectOptions(); options.setUserName(username); options.setPassword(password.toCharArray()); ``` 接着,连接MQTT服务器: ```java try { IMqttToken token = client.connect(options); token.setActionCallback(new IMqttActionListener() { @Override public void onSuccess(IMqttToken asyncActionToken) { // 连接成功 } @Override public void onFailure(IMqttToken asyncActionToken, Throwable exception) { // 连接失败 } }); } catch (MqttException e) { e.printStackTrace(); } ``` 连接成功后,可以进行相关操作,例如发布消息: ```java String topic = "my/topic"; String payload = "Hello MQTT!"; int qos = 1; try { IMqttDeliveryToken token = client.publish(topic, payload.getBytes(), qos, false); token.setActionCallback(new IMqttActionListener() { @Override public void onSuccess(IMqttToken asyncActionToken) { // 发布成功 } @Override public void onFailure(IMqttToken asyncActionToken, Throwable exception) { // 发布失败 } }); } catch (MqttException e) { e.printStackTrace(); } ``` 以上便是一个简单的AndroidMQTT代码示例。注意,在实际应用中,需要根据具体情况进行相关参数的设置,例如服务器地址、客户ID、用户名、密码、Topic等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值