I have 2 servers with exactly the same setup. But on 1 server I ran against an error and on another server it works well.
On server 1 :
[root@tst socketio]# npm list socket.io
/var/socketio
└── [email protected]
Package nodejs-0.10.48-3.el6.x86_64 already installed and latest version
On server 2 :
[root@1 socketio]# npm list socket.io
/var/socketio
└── [email protected]
Package nodejs-0.10.48-3.el6.x86_64 already installed and latest version
Script on server 1 :
[root@tst socketio]# node /var/socketio/socketioclient.js 1768
Time: 5/3/2018 21:10:6
ID: 1768
Start connect
S-connection
k95RAgJVnhzv4ItHABvu
S-emit event
S-disconnect
Script on server 2 :
[root@1 socketio]# node /var/socketio/socketioclient.js 1768
Time: 5/3/2018 20:59:24
ID: 1768
/var/socketio/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/xmlhttprequest-ssl/lib/XMLHttpRequest.js:66
var headers = Object.assign({}, defaultHeaders);
^
TypeError: Object function Object() { [native code] } has no method 'assign'
at new XMLHttpRequest (/var/socketio/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/xmlhttprequest-ssl/lib/XMLHttpRequest.js:66:24)
at /var/socketio/node_modules/socket.io-client/node_modules/engine.io-client/lib/transports/polling.js:24:13
at Object.<anonymous> (/var/socketio/node_modules/socket.io-client/node_modules/engine.io-client/lib/transports/polling.js:26:3)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/var/socketio/node_modules/socket.io-client/node_modules/engine.io-client/lib/transports/polling-xhr.js:6:15)
My socketioclient.js :
console.log(datetime);
console.log('ID: '+ID);
var io = require('socket.io-client');
console.log('Start connect');
var sSocket = io.connect('https://11.22.33.44:1234', {
reconnection: true,
reconnectionDelay: 1000,
reconnectionDelayMax : 5000,
reconnectionAttempts: 3
});
sSocket.on('connect', function (data) {
console.log('S-connection');
console.log(sSocket.id);
console.log('S-emit event');
sSocket.emit('event', { ID: ID });
sSocket.disconnect();
}
sSocket.on('serveroutput', function (data) {
console.log('S-serveroutput: '+data);
});
});
sSocket.on('disconnect', function (data) {
console.log('S-disconnect');
});
sSocket.on('reconnect', function() {
console.log('S-reconnecting');
});
sSocket.on('reconnect_failed', function (data) {
console.log('S-reconnect failed');
});
I see no difference in socketio version or in nodejs version. But the outcome is different. How come ?
I have read (on this website) about needing node version >= 4. But as it works on 1 server I don't think this is the issue here.