@jsh/mqtt

Since v8.0.52

Client

MQTT 클라이언트입니다.

사용 예시
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
const mqtt = require("@jsh/mqtt");
const client = new mqtt.Client({ serverUrls: ["tcp://127.0.0.1:1236"] });
try {
    client.onConnect = connAck => { println("connected."); }
    client.onConnectError = err => { println("connect error", err); }
    client.connect({timeout: 10*1000});
    client.publish("test/topic", "Hello, MQTT!", 0)
} catch(e) {
    console.log("Error:", e);
} finally {
    client.disconnect({waitForEmptyQueue:true});
}
생성
Constructor설명
new Client(options)옵션과 함께 MQTT 클라이언트를 생성합니다.
옵션
옵션타입기본값설명
serverUrlsString[]브로커 주소 목록
keepAliveNumber10Keep Alive 초
cleanStartBooleantrue클린 세션 여부
usernameString사용자 이름
passwordString비밀번호
clientIDString랜덤 ID클라이언트 ID
debugBooleanfalse디버그 로그 출력 여부
sessionExpiryIntervalNumber60세션 만료 시간(초)
connectRetryDelayNumber10재접속 지연(초)
connectTimeoutNumber10접속 타임아웃(초)
packetTimeoutNumber5패킷 타임아웃(초)
queueStringmemory메시지 큐 저장 방식

connect()

사용 형식
connect(opts)
매개변수
  • opts Object
PropertyType설명
timeoutNumber접속 타임아웃(밀리초)
반환값

없음.

disconnect()

사용 형식
disconnect(opts)
매개변수
  • opts Object
PropertyType설명
waitForEmptyQueueBoolean큐가 빌 때까지 기다릴지 여부
timeoutNumber종료 대기 타임아웃(밀리초)
반환값

없음.

subscribe()

사용 형식
subscribe(opts)
매개변수
  • opts Object SubscriptionOption
SubscriptionOption
PropertyType설명
subscriptionsObject[]Subscription 배열
propertiesObjectProperties 객체
Subscription
PropertyType설명
topicString구독할 토픽
qosNumber0, 1, 2
retainHandlingNumberRetain 처리 방식
noLocalBoolean로컬 발행 메시지 수신 차단
retainAsPublishedBooleanretain 플래그 유지 여부
Properties
PropertyType설명
userObject사용자 정의 프로퍼티
반환값

없음.

사용 예시
const topicName = 'sensor/temperature';
client.subscribe({subscriptions:[{topic:topicName, qos:0}]});

unsubscribe()

사용 형식
unsubscribe(opts)
매개변수
  • opts Object UnsubscribeOption
UnsubscribeOption
PropertyType설명
topicsString[]해지할 토픽 목록
propertiesObjectProperties 객체
Properties
PropertyType설명
userObject사용자 정의 프로퍼티
반환값

없음.

사용 예시
const topicName = 'sensor/temperature';
client.unsubscribe({topics:[topicName]});

publish()

사용 형식
publish(opts, payload)
매개변수
  • opts Object PublishOptions
  • payload String 또는 Number
PublishOptions
PropertyType설명
topicString발행할 토픽
qosNumber0, 1, 2
packetIDString패킷 ID
retainBooleanretain 플래그
propertiesObjectMQTT v5 프로퍼티
반환값
  • Object
PropertyTypeDescription
reasonCodeNumber
propertiesObject
사용 예시
let r = client.publish('sensor/temperature', 'Hello World', 1)
console.log(r.reasonCode)

onMessage callback

Callback function that receives a message.

사용 형식
function (msg) { }
  • msg Object Message
Message
PropertyTypeDescription
packetIDNumber
topicString
qosNumber0, 1, 2
retainBoolean
payloadObjectPayload
propertiesObjectProperties
Payload
  • msg.payload.bytes()
  • msg.payload.string()
Properties
PropertyTypeDescription
correlationDatabyte[]
contentTypeString
responseTopicString
payloadFormatNumberor undefined
messageExpiryNumberor undefined
subscriptionIdentifierNumberor undefined
topicAliasNumberor undefined
userObjectuser properties

onConnect callback

On connect callback.

사용 형식
function (ack) { }
매개변수
  • ack Object
PropertyTypeDescription
sessionPresentBoolean
reasonCodeNumber
propertiesObjectProperties
Properties
PropertyTypeDescription
reasonStringString
reasonInfoString
assignedClientIDString
authMethodString
serverKeepAliveNumberor undefined
sessionExpiryIntervalNumberor undefined
userObject
반환값

없음.

onConnectError callback

On connect error callback.

사용 형식
function (err) { }
매개변수
  • error String
반환값

없음.

onDisconnect callback

On disconnect callback

사용 형식
function (disconn) { }
매개변수
  • disconn Object
반환값

없음.

onClientError callback

On client error callback

사용 형식
function (err) { }
매개변수
  • err String
반환값

없음.

최근 업데이트