wechat wss demo

writeToStream.js 929B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. var mqtt = require('../')
  2. var max = 1000000
  3. var i = 0
  4. var start = Date.now()
  5. var time
  6. var buf = Buffer.allocUnsafe(10)
  7. var net = require('net')
  8. var server = net.createServer(handle)
  9. var dest
  10. function handle (sock) {
  11. sock.resume()
  12. }
  13. buf.fill('test')
  14. server.listen(0, function () {
  15. dest = net.connect(server.address())
  16. dest.on('connect', tickWait)
  17. dest.on('drain', tickWait)
  18. dest.on('finish', function () {
  19. time = Date.now() - start
  20. console.log('Total time', time)
  21. console.log('Total packets', max)
  22. console.log('Packet/s', max / time * 1000)
  23. server.close()
  24. })
  25. })
  26. function tickWait () {
  27. var res = true
  28. // var toSend = new Buffer(5)
  29. for (; i < max && res; i++) {
  30. res = mqtt.writeToStream({
  31. cmd: 'publish',
  32. topic: 'test',
  33. payload: buf
  34. }, dest)
  35. // dest.write(toSend, 'buffer')
  36. // res = dest.write(buf, 'buffer')
  37. }
  38. if (i >= max) {
  39. dest.end()
  40. }
  41. }