Commit cc1c4275 authored by jichao's avatar jichao

mqtt配置

parent 2445408f
......@@ -3,6 +3,7 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.fusesource.hawtbuf.Buffer;
import org.fusesource.hawtbuf.UTF8Buffer;
import org.fusesource.hawtdispatch.Dispatch;
import org.fusesource.mqtt.client.Callback;
import org.fusesource.mqtt.client.CallbackConnection;
import org.fusesource.mqtt.client.Listener;
......@@ -161,7 +162,7 @@ public class MqttClient {
MQTT mqtt=new MQTT();
//MQTT设置说明
mqtt.setHost("tcp://139.199.98.105:1883");
mqtt.setHost("tcp://172.21.0.6:1883");
mqtt.setClientId("876543210"); //用于设置客户端会话的ID。在setCleanSession(false);被调用时,MQTT服务器利用该ID获得相应的会话。此ID应少于23个字符,默认根据本机地址、端口和时间自动生成
mqtt.setCleanSession(false); //若设为false,MQTT服务器将持久化客户端会话的主体订阅和ACK位置,默认为true
mqtt.setKeepAlive((short) 60);//定义客户端传来消息的最大时间间隔秒数,服务器可以据此判断与客户端的连接是否已经断开,从而避免TCP/IP超时的长时间等待
......@@ -178,12 +179,12 @@ public class MqttClient {
mqtt.setConnectAttemptsMax(10L);//客户端首次连接到服务器时,连接的最大重试次数,超出该次数客户端将返回错误。-1意为无重试上限,默认为-1
mqtt.setReconnectAttemptsMax(3L);//客户端已经连接到服务器,但因某种原因连接断开时的最大重试次数,超出该次数客户端将返回错误。-1意为无重试上限,默认为-1
mqtt.setReconnectDelay(10L);//首次重连接间隔毫秒数,默认为10ms
mqtt.setReconnectDelayMax(3000L);//重连接间隔毫秒数,默认为30000ms
mqtt.setReconnectDelayMax(30000L);//重连接间隔毫秒数,默认为30000ms
mqtt.setReconnectBackOffMultiplier(2);//设置重连接指数回归。设置为1则停用指数回归,默认为2
//Socket设置说明
mqtt.setReceiveBufferSize(2 * 1024 * 1024);//设置socket接收缓冲区大小,默认为65536(64k)
mqtt.setSendBufferSize(2 * 1024 * 1024);//设置socket发送缓冲区大小,默认为65536(64k)
mqtt.setReceiveBufferSize(65536);//设置socket接收缓冲区大小,默认为65536(64k)
mqtt.setSendBufferSize(65536);//设置socket发送缓冲区大小,默认为65536(64k)
mqtt.setTrafficClass(8);//设置发送数据包头的流量类型或服务类型字段,默认为8,意为吞吐量最大化传输
//带宽限制设置说明
......@@ -191,7 +192,7 @@ public class MqttClient {
mqtt.setMaxWriteRate(0);//设置连接的最大发送速率,单位为bytes/s。默认为0,即无限制
//选择消息分发队列
//mqtt.setDispatchQueue(Dispatch.createQueue("UPDATA"));//若没有调用方法setDispatchQueue,客户端将为连接新建一个队列。如果想实现多个连接使用公用的队列,显式地指定队列是一个非常方便的实现方法
mqtt.setDispatchQueue(Dispatch.createQueue("UPDATA"));//若没有调用方法setDispatchQueue,客户端将为连接新建一个队列。如果想实现多个连接使用公用的队列,显式地指定队列是一个非常方便的实现方法
//设置跟踪器
mqtt.setTracer(new Tracer(){
......@@ -295,10 +296,10 @@ public class MqttClient {
while(true)
{
}
// while(true)
// {
//
// }
} catch (Exception e) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment