heyujie
2021-05-20 6ebdefb4a5b2be82a8c452c0bb4624f3d85a17b7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
'use strict'
 
var Server = require('../server')
var fs = require('fs')
 
module.exports.init_server = function (PORT) {
  var server = new Server(function (client) {
    client.on('connect', function () {
      client.connack(0)
    })
 
    client.on('publish', function (packet) {
      switch (packet.qos) {
        case 1:
          client.puback({messageId: packet.messageId})
          break
        case 2:
          client.pubrec({messageId: packet.messageId})
          break
        default:
          break
      }
    })
 
    client.on('pubrel', function (packet) {
      client.pubcomp({messageId: packet.messageId})
    })
 
    client.on('pingreq', function () {
      client.pingresp()
    })
 
    client.on('disconnect', function () {
      client.stream.end()
    })
  })
  server.listen(PORT)
  return server
}
 
module.exports.init_secure_server = function (port, key, cert) {
  var server = new Server.SecureServer({
    key: fs.readFileSync(key),
    cert: fs.readFileSync(cert)
  }, function (client) {
    client.on('connect', function () {
      client.connack({returnCode: 0})
    })
  })
  server.listen(port)
  return server
}