wechat wss demo

generateNet.js 993B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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. buf.fill('test')
  11. function handle (sock) {
  12. sock.resume()
  13. }
  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. // console.log('tickWait', i)
  28. var res = true
  29. // var toSend = new Buffer(5 + buf.length)
  30. for (; i < max && res; i++) {
  31. res = dest.write(mqtt.generate({
  32. cmd: 'publish',
  33. topic: 'test',
  34. payload: buf
  35. }))
  36. // buf.copy(toSend, 5)
  37. // res = dest.write(toSend, 'buffer')
  38. // console.log(res)
  39. }
  40. if (i >= max) {
  41. dest.end()
  42. }
  43. }