As soon as nodejs+mqtt, starts apollo, it will report the wrong Connection refused: Server unavailable.

< H2 > background < / H2 >

nodejs as server
rely on mqtt package [1]: https://www.npmjs.com/package. start mqtt service

the main implementation code is as follows:

var mqtt = require("mqtt");
var mqttc = {}

var options = {
    host: "127.0.0.1",
    port: 61613,
    username: "admin",
    password: "password"
}

mqttc.startMqtt = function () {

var client = mqtt.connect(options);

client.on("connect", function () {
    console.log("connected");
    client.subscribe("message");
})

client.on("message", function (topic, message) {
})


everything runs normally after npm start

 

> v@0.0.1 start D:\di\vxx-origin
> node ./bin/www

express-session deprecated undefined resave option; provide resave option app.js:40:9
express-session deprecated undefined saveUninitialized option; provide saveUninitialized option app.js:40:9
(node:9396) DeprecationWarning: `open()` is deprecated in mongoose >= 4.11.0, use `openUri()` instead, or set the `useMongoClient` option if using `connect()` or `createConnection()`. See http://mongoosejs.com/docs/4.x/docs/connections.html-sharpuse-mongo-client
connected
Mongoose connection open to mongodb://localhost:27017/mongoosesample
< H2 > question < / H2 >
apollonode

clipboard.png

events.js:182
      throw er; // Unhandled "error" event
      ^

Error: Connection refused: Server unavailable
    at MqttClient._handleConnack (D:\digitalsky\vDrone-origin\node_modules\mqtt\lib\client.js:762:15)
    at MqttClient._handlePacket (D:\digitalsky\vDrone-origin\node_modules\mqtt\lib\client.js:300:12)
    at process (D:\digitalsky\vDrone-origin\node_modules\mqtt\lib\client.js:242:12)
    at Writable.writable._write (D:\digitalsky\vDrone-origin\node_modules\mqtt\lib\client.js:252:5)
    at doWrite (D:\digitalsky\vDrone-origin\node_modules\mqtt\node_modules\readable-stream\lib\_stream_writable.js:428:64)
    at writeOrBuffer (D:\digitalsky\vDrone-origin\node_modules\mqtt\node_modules\readable-stream\lib\_stream_writable.js:417:5)
    at Writable.write (D:\digitalsky\vDrone-origin\node_modules\mqtt\node_modules\readable-stream\lib\_stream_writable.js:334:11)
    at Socket.ondata (_stream_readable.js:628:20)
    at emitOne (events.js:115:13)
    at Socket.emit (events.js:210:7)
    at addChunk (_stream_readable.js:252:12)
    at readableAddChunk (_stream_readable.js:239:11)
    at Socket.Readable.push (_stream_readable.js:197:10)
    at TCP.onread (net.js:589:20)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! vdrone@0.0.1 start: `node ./bin/www`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the vdrone@0.0.1 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\aspac\AppData\Roaming\npm-cache\_logs\2018-04-25T03_36_50_149Z-debug.log

< H1 > ask for help < / H1 >
Mar.05,2021

tried to solve it myself, though I don't know why:

start apollo first
and then start Node Server

Menu