Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const WebSocket = require('ws');
- const UUID = require('uuid');
- const Rx = require('rxjs');
- const random = require('random-number').generator({
- min: 1000000,
- max: 9999999,
- integer: true
- });
- const homegearId = `PimaticTest-${UUID.v4()}`;
- const socketServer = Rx.Observable.webSocket({
- url: `ws://192.168.100.155:2001/${homegearId}`,
- WebSocketCtor: WebSocket,
- protocol: 'server'
- });
- const socketClient = Rx.Observable.webSocket({
- url: `ws://192.168.100.155:2001/${homegearId}`,
- WebSocketCtor: WebSocket,
- protocol: 'client'
- });
- socketServer.subscribe((response) => {
- console.log(`Received Message (Server): ${JSON.stringify(response)}`);
- }, (err) => {
- console.log(err);
- }, () => {
- console.log('Server closed');
- });
- socketClient.subscribe((response) => {
- console.log(`Received Message (Client): ${JSON.stringify(response)}`);
- }, (err) => {
- console.log(err);
- }, () => {
- console.log('Client closed');
- });
- const sendServerRequest = (request) => {
- console.log(`Sending Request (Server): ${JSON.stringify(request)}`);
- socketServer.next(JSON.stringify(request));
- return socketServer.filter((response) => {
- return response.id === request.id;
- });
- }
- const sendClientRequest = (request) => {
- console.log(`Sending Request (Client): ${JSON.stringify(request)}`);
- socketClient.next(JSON.stringify(request));
- return socketClient.filter((response) => {
- return response.id === request.id;
- });
- }
- Rx.Observable.timer(1000).subscribe(() => {
- const message = {"jsonrpc":"2.0","method":"subscribePeers","id": random(),"params":[homegearId, [7]]};
- sendServerRequest(message).subscribe(() => {});
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement