Created
October 29, 2018 12:35
-
-
Save VivienAdnot/4401b04a5f0354162a49c28ec5164f31 to your computer and use it in GitHub Desktop.
action on primus reconnect
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'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