MQTT 프로 토 콜 nodejs 에서 의 사용
먼저, MQTT 의 장점 은 모두 가 알 아야 한다. 본 협의의 특징 은 경량급 (비용 이 적 고 고정된 길이 의 머리 는 2 바이트), 대리 의 '발표 / 구독' 모델 을 바탕 으로 하 는 정보 전송, 협의 가 간결 하고 작고 확장 성 이 강 하 며 유량 을 절약 하고 전 기 를 절약 하 는 것 이다. 또한 사물 인터넷 조건 에서 신뢰성 이 없고 계산 능력 이 낮은 네트워크 전송 조건 에서현재 이미 기업 분야 에 응용 되 었 고 어느 정도 단점 도 있다. 예 를 들 어 인터넷 에서 이 협의 가 성숙 하지 않 고 복잡 하 며 서버 구성 요소 인 rsmb 가 시작 되 지 않 고 하드웨어 를 배치 하 는 원가 가 비교적 높 지만 이것 은 nodejs 에서 성립 되 지 않 고 서버 는 nodejs 운영 환경 만 있 으 면 MQTT 서 비 스 를 편리 하 게 구축 할 수 있다 고 허튼소리 를 한다.다음은 기본 사용 코드 를 설명 한다.
서버 코드:
4. 567913. mosca 서비스 구축 이 완 료 된 후에 소식 을 발표 할 수 있 습 니 다. 코드 는 다음 과 같 습 니 다.
4. 567913. 그리고 다른 클 라 이언 트 에서 정 보 를 구독 할 수 있 습 니 다.
var mosca = require('mosca');//
var MqttServer = new mosca.Server({
port: 8000
});// ,
MqttServer.on('clientConnected', function(client){//
console.log('client connected', client.id);
});
/**
* MQTT
**/
MqttServer.on('published', function(packet, client) {//
var topic = packet.topic;
console.log(packet);
switch(topic){
case 'test':
console.log('message-publish', packet.payload.toString());
//MQTT
MqttServer.publish({topic: 'other', payload: 'sssss'});
break;
case 'other':
console.log('message-123', packet.payload.toString());
break;
}
});
MqttServer.on('ready', function(){
console.log('mqtt is running...');
});
그래서 이 간단 한 MQTT 프로 토 콜 은 nodejs 에서 이 루어 졌 다.
var mqtt = require('mqtt');
var client = mqtt.connect('mqtt://192.168.0.182:8000');//
//client.subscribe('presence');
var num = 0;
var qtt={};// ( 、 )
qtt.aa='asds';
qtt.bb=' ';
setInterval(function (){// ‘test’
client.publish('test',JSON.stringify(qtt),{qos:1, retain: true});// 'Hello mqtt ' + (num++)
}, 1000);
var mqtt = require('mqtt'); var client= mqtt.connect('mqtt://192.168.0.182:8000'); client.subscribe('test',{qos:1});// test client.on('message', function (topic, message) { console.log(message.toString()); });
var MqttServer = new mosca.Server({ port: 8000 });// , MqttServer.on('clientConnected', function(client){// console.log('client connected', client.id); }); /** * MQTT **/ MqttServer.on('published', function(packet, client) {// var topic = packet.topic; console.log(packet); switch(topic){ case 'test': console.log('message-publish', packet.payload.toString()); //MQTT MqttServer.publish({topic: 'other', payload: 'sssss'}); break; case 'other': console.log('message-123', packet.payload.toString()); break; } }); MqttServer.on('ready', function(){ console.log('mqtt is running...'); });
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Express + AWS S3 이미지 업로드하기웹 사이트 및 모바일 애플리케이션 등에서 원하는 양의 데이터를 저장하고 보호할 수 있다. 데이터에 대한 액세스를 최적화, 구조화 및 구성할 수 있는 관리 기능을 제공한다. AWS S3 에 저장된 객체에 대한 컨테이너...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.