Advertisement
Guest User

Untitled

a guest
Jul 16th, 2017
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.67 KB | None | 0 0
  1. const WebSocket = require('ws');
  2. const UUID = require('uuid');
  3. const Rx = require('rxjs');
  4.  
  5. const random = require('random-number').generator({
  6. min: 1000000,
  7. max: 9999999,
  8. integer: true
  9. });
  10.  
  11. const homegearId = `PimaticTest-${UUID.v4()}`;
  12.  
  13. const socketServer = Rx.Observable.webSocket({
  14. url: `ws://192.168.100.155:2001/${homegearId}`,
  15. WebSocketCtor: WebSocket,
  16. protocol: 'server'
  17. });
  18.  
  19. const socketClient = Rx.Observable.webSocket({
  20. url: `ws://192.168.100.155:2001/${homegearId}`,
  21. WebSocketCtor: WebSocket,
  22. protocol: 'client'
  23. });
  24.  
  25. socketServer.subscribe((response) => {
  26. console.log(`Received Message (Server): ${JSON.stringify(response)}`);
  27. }, (err) => {
  28. console.log(err);
  29. }, () => {
  30. console.log('Server closed');
  31. });
  32.  
  33. socketClient.subscribe((response) => {
  34. console.log(`Received Message (Client): ${JSON.stringify(response)}`);
  35. }, (err) => {
  36. console.log(err);
  37. }, () => {
  38. console.log('Client closed');
  39. });
  40.  
  41. const sendServerRequest = (request) => {
  42. console.log(`Sending Request (Server): ${JSON.stringify(request)}`);
  43. socketServer.next(JSON.stringify(request));
  44. return socketServer.filter((response) => {
  45. return response.id === request.id;
  46. });
  47. }
  48.  
  49. const sendClientRequest = (request) => {
  50. console.log(`Sending Request (Client): ${JSON.stringify(request)}`);
  51. socketClient.next(JSON.stringify(request));
  52. return socketClient.filter((response) => {
  53. return response.id === request.id;
  54. });
  55. }
  56.  
  57. Rx.Observable.timer(1000).subscribe(() => {
  58.  
  59. const message = {"jsonrpc":"2.0","method":"subscribePeers","id": random(),"params":[homegearId, [7]]};
  60.  
  61. sendServerRequest(message).subscribe(() => {});
  62.  
  63. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement