amqplib을 사용하여 amqp 클라이언트를 만듭니다. localhost에서 실행할 때 제대로 작동하지만 서버의 IP 주소 192.168.1.44로 변경하면 conn 객체가 정의되지 않았 음을 나타내는 오류가 발생합니다. nodejs 클라이언트를 통해 rabbitmq broker에 연결할 수 없습니다.
이
는 클라이언트의 코드var amqp = require('amqplib/callback_api');
amqp.connect('amqp://guest:[email protected]:5672', function(err, conn) {
conn.createChannel(function(err, ch) {
var q = 'hello';
ch.assertQueue(q, {durable: false});
console.log(" [*] Waiting for messages in %s. To exit press CTRL+C", q);
ch.consume(q, function(msg) {
console.log(" [x] Received %s", msg.content.toString());
}, {noAck: true});
});
});
이며,이 오류 메시지가
/home/pi/Desktop/mqtt_example/receive.js:14
conn.createChannel(function(err, ch) {
^
TypeError: Cannot read property 'createChannel' of undefined
at /home/pi/Desktop/mqtt_example/receive.js:14:5
at /home/pi/Desktop/mqtt_example/node_modules/amqplib/callback_api.js:16:10
at /home/pi/Desktop/mqtt_example/node_modules/amqplib/lib/connect.js:164:12
at bail (/home/pi/Desktop/mqtt_example/node_modules/amqplib/lib/connection.js:176:5)
at afterStartOk (/home/pi/Desktop/mqtt_example/node_modules/amqplib/lib/connection.js:219:7)
at /home/pi/Desktop/mqtt_example/node_modules/amqplib/lib/connection.js:160:12
at Socket.recv (/home/pi/Desktop/mqtt_example/node_modules/amqplib/lib/connection.js:498:12)
at Object.onceWrapper (events.js:314:30)
at emitNone (events.js:105:13)
at Socket.emit (events.js:207:7)
at emitReadable_ (_stream_readable.js:502:10)
at emitReadable (_stream_readable.js:496:7)
at addChunk (_stream_readable.js:263:7)
at readableAddChunk (_stream_readable.js:239:11)
at Socket.Readable.push (_stream_readable.js:197:10)
at TCP.onread (net.js:588:20)
당신의'err' 변수를'console.log'하십시오. 연결이 작동하지 않는 것처럼 보입니다 ... – semanser