wechat wss demo

wss-server_2.js 1.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. 'use strict';
  2. //
  3. //mqtt
  4. var mqtt = require('mqtt');
  5. var opt = {
  6. port:1883,
  7. clientId: 'phonetest'
  8. };
  9. var client = mqtt.connect('tcp://iot.twgigatech.cn:1883');
  10. client.on('connect', function ()
  11. {
  12. console.log('connect MQTT server');
  13. client.subscribe("CAD9A3D3EUWWNBKY111A/iotk");
  14. client.subscribe("CAD9A3D3EUWWNBKY111A/phone");
  15. // client.publish('CAD9A3D3EUWWNBKY/iotk','test');
  16. });
  17. client.on('message', function (topic, message) {
  18. console.log('mqtt rece: '+message.toString());
  19. //wsConnect.send(message);
  20. // client.end();
  21. });
  22. //
  23. var fs = require('fs');
  24. var cfg = {
  25. ssl: true,
  26. port: 443,
  27. ssl_key: 'ssl.key', ssl_cert: 'ssl.crt'
  28. };
  29. var httpServ = (cfg.ssl) ? require('https') : require('http');
  30. var WebSocketServer = require('ws').Server;
  31. var app = null;
  32. var processRequest = function(req, res)
  33. {
  34. res.writeHead(200);
  35. res.end('All glory to WebSockets!\n');
  36. };
  37. if (cfg.ssl) {
  38. app = httpServ.createServer({
  39. key: fs.readFileSync(cfg.ssl_key),
  40. cert: fs.readFileSync(cfg.ssl_cert)
  41. }, processRequest).listen(cfg.port);
  42. } else {
  43. app = httpServ.createServer(processRequest).listen(cfg.port);
  44. }
  45. var wss = new WebSocketServer({ server: app });
  46. wss.on('connection', function(wsConnect)
  47. {
  48. wsConnect.on('message', function(message)
  49. {
  50. console.log('wss rece: '+message);
  51. client.publish('CAD9A3D3EUWWNBKY/iotk',message.toString());
  52. //wsConnect.send(message);
  53. });
  54. });