Skip to content

Instantly share code, notes, and snippets.

@VivienAdnot
Created October 29, 2018 12:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save VivienAdnot/4401b04a5f0354162a49c28ec5164f31 to your computer and use it in GitHub Desktop.
Save VivienAdnot/4401b04a5f0354162a49c28ec5164f31 to your computer and use it in GitHub Desktop.
action on primus reconnect
'use strict';
var disconnectClient = true;
var http = require('http');
var Primus = require('primus');
var primusServer;
var httpServer;
(function createServer() {
httpServer = http.createServer();
primusServer = new Primus(httpServer);
primusServer.on('connection', function(spark) {
if (!disconnectClient) return;
disconnectClient = false;
// Close the server and trigger a client side reconnection
primusServer.end({
end: false
});
spark.end(null, {
reconnect: true
});
// Reopen the server after 20 seconds
setTimeout(createServer, 20000);
});
httpServer.listen(3000);
})();
var socket = new primusServer.Socket('http://localhost:3000');
socket.on('open', function() {
console.log('client is connected');
}).on('close', function() {
console.log('client is disconnected');
}).on('reconnect', function() {
console.log('client is attempting to reconnect');
}).on('reconnecting', function() {
console.log('client will reconnect');
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment