App-SocialCalc-Multiplayer
view release on metacpan or search on metacpan
socialcalc/third-party/Socket.IO-node/lib/socket.io/client.js view on Meta::CPAN
};
Client.prototype._heartbeat = function(){
var self = this;
this._heartbeatInterval = setTimeout(function(){
self.send('~h~' + ++self._heartbeats);
self._heartbeatTimeout = setTimeout(function(){
self._onClose();
}, self.options.timeout);
}, self.options.heartbeatInterval);
};
Client.prototype._onHeartbeat = function(h){
if (h == this._heartbeats){
clearTimeout(this._heartbeatTimeout);
this._heartbeat();
}
};
Client.prototype._onClose = function(skipDisconnect){
if (!this._open) return this;
var self = this;
if (this._heartbeatInterval) clearTimeout(this._heartbeatInterval);
if (this._heartbeatTimeout) clearTimeout(this._heartbeatTimeout);
this._open = false;
this.request = null;
this.response = null;
if (skipDisconnect !== false){
if (this.handshaked){
this._disconnectTimeout = setTimeout(function(){
self._onDisconnect();
}, this.options.closeTimeout);
} else
this._onDisconnect();
}
};
Client.prototype._onDisconnect = function(){
if (this._open) this._onClose(true);
if (this._disconnectTimeout) clearTimeout(this._disconnectTimeout);
this._writeQueue = [];
this.connected = false;
if (this.handshaked){
this.emit('disconnect');
this.listener._onClientDisconnect(this);
this.handshaked = false;
}
};
Client.prototype._queue = function(message){
this._writeQueue = this._writeQueue || [];
this._writeQueue.push(message);
return this;
};
Client.prototype._generateSessionId = function(){
this.sessionId = Math.random().toString().substr(2);
return this;
};
Client.prototype._verifyOrigin = function(origin){
var origins = this.listener.options.origins;
if (origins.indexOf('*:*') !== -1) {
return true;
}
if (origin) {
try {
var parts = urlparse(origin);
return origins.indexOf(parts.host + ':' + parts.port) !== -1 ||
origins.indexOf(parts.host + ':*') !== -1 ||
origins.indexOf('*:' + parts.port) !== -1;
} catch (ex) {}
}
return false;
};
for (var i in options) Client.prototype[i] = options[i];
( run in 1.084 second using v1.01-cache-2.11-cpan-39bf76dae61 )