bombing.js 617 B

12345678910111213141516171819202122232425262728293031323334
  1. #! /usr/bin/env node
  2. const mqtt = require('mqtt')
  3. const client = mqtt.connect({ port: 1883, host: 'localhost', clean: true, keepalive: 0 })
  4. const interval = 5000
  5. let sent = 0
  6. function count () {
  7. console.log('sent/s', sent / interval * 1000)
  8. sent = 0
  9. }
  10. setInterval(count, interval)
  11. function immediatePublish () {
  12. setImmediate(publish)
  13. }
  14. function publish () {
  15. sent++
  16. client.publish('test', 'payload', immediatePublish)
  17. }
  18. client.on('connect', publish)
  19. client.on('offline', function () {
  20. console.log('offline')
  21. })
  22. client.on('error', function () {
  23. console.log('reconnect!')
  24. client.stream.end()
  25. })