1 |
|
2 | var io = require("socket.io-client"), logger = require('./logger.js');
|
3 | var config = {
|
4 | host: '127.0.0.1',
|
5 | port: 3000,
|
6 | room: 'default',
|
7 | socket: {
|
8 | 'reconnection' : true,
|
9 | 'reconnectionDelay' : 1000,
|
10 | 'reconnectionDelayMax' : 5000,
|
11 | 'reconnectionAttempts' : 50,
|
12 | 'force new connection' : true
|
13 | }
|
14 | };
|
15 |
|
16 | exports.connect = function(onconnect, onmessage, onfail) {
|
17 | var socket = io.connect('http://'+config.host+':'+config.port, config.socket);
|
18 | var running = 0;
|
19 | socket.on('connect', function(data) {
|
20 | socket.emit("join", {name: 'controller', room: config.room});
|
21 | if (onconnect && typeof onconnect === 'function') {
|
22 | onconnect(socket);
|
23 | }
|
24 | });
|
25 | socket.on('reconnect', function(e){
|
26 | logger.log("WARN", e.name, "Reconnect");
|
27 | });
|
28 | socket.on('reconnecting', function(e){
|
29 | logger.log("WARN", e.name, "Reconnecting");
|
30 | });
|
31 | socket.on('connect_error', function(e){
|
32 | logger.log("ERROR", e.name, "Connect Failed");
|
33 | console.log(e);
|
34 | if (onfail && typeof onfail === 'function') {
|
35 | onfail(socket);
|
36 | }
|
37 | });
|
38 | socket.on('device_connect', function(e){
|
39 | running = running++;
|
40 | logger.log("INFO", e.name, "Connected");
|
41 | });
|
42 | socket.on('device_disconnect', function(e){
|
43 | running = running--;
|
44 | logger.log("WARN", e.name,"Disconnected");
|
45 | });
|
46 | socket.on('device_log', function(data) {
|
47 | if (data.message.match("Runner Finished$")) {
|
48 | running--;
|
49 | if (running <= 0) {
|
50 | running = 0;
|
51 | |
52 |
|
53 |
|
54 |
|
55 |
|
56 |
|
57 |
|
58 | socket.disconnect();
|
59 | }
|
60 | } else if (data.level !=="INSPECT") {
|
61 | if (onmessage && typeof onmessage === 'function') {
|
62 | onmessage(data.message);
|
63 | }
|
64 | logger.log(data.level, data.name, data.message);
|
65 | }
|
66 | });
|
67 | socket.on('connect_failed', function(data) {
|
68 | logger.error("connect_failed: " + data);
|
69 | });
|
70 | return socket;
|
71 | }; |
\ | No newline at end of file |