Skip to content

Commit

Permalink
fix sockjs#403,add timeoutMs option
Browse files Browse the repository at this point in the history
  • Loading branch information
i@sanzhi.me committed Jan 21, 2019
1 parent 6f77e3c commit bbfc861
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 2 deletions.
4 changes: 4 additions & 0 deletions README.md
Expand Up @@ -152,6 +152,10 @@ Where `options` is a hash which can contain:
If you don't specify this option, the default is to use the default random
string generator to generate 8-character long session ids.

* **timeoutMs (number)**

Timeout millseconds for transport connection, more information see [this issue](https://github.com/sockjs/sockjs-client/issues/403)

Although the 'SockJS' object tries to emulate the 'WebSocket'
behaviour, it's impossible to support all of its features. An
important SockJS limitation is the fact that you're not allowed to
Expand Down
4 changes: 2 additions & 2 deletions lib/main.js
Expand Up @@ -49,7 +49,7 @@ function SockJS(url, protocols, options) {
}
this._transportsWhitelist = options.transports;
this._transportOptions = options.transportOptions || {};

this._timeoutMs = options.timeoutMs;
var sessionId = options.sessionId || 8;
if (typeof sessionId === 'function') {
this._generateSessionId = sessionId;
Expand Down Expand Up @@ -209,7 +209,7 @@ SockJS.prototype._connect = function() {
}

// calculate timeout based on RTO and round trips. Default to 5s
var timeoutMs = (this._rto * Transport.roundTrips) || 5000;
var timeoutMs = this._timeoutMs || (this._rto * Transport.roundTrips) || 5000;
this._transportTimeoutId = setTimeout(this._transportTimeout.bind(this), timeoutMs);
debug('using timeout', timeoutMs);

Expand Down

0 comments on commit bbfc861

Please sign in to comment.