close web socket gracefully to reduce error messages in server log
This commit is contained in:
parent
03598341b1
commit
5783b78b08
2 changed files with 19 additions and 9 deletions
26
ApiClient.js
26
ApiClient.js
|
@ -2,7 +2,7 @@
|
|||
window.MediaBrowser = {};
|
||||
}
|
||||
|
||||
MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
|
||||
MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, window) {
|
||||
|
||||
/**
|
||||
* Creates a new api client instance
|
||||
|
@ -27,6 +27,14 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
|
|||
var currentUserId;
|
||||
var webSocket;
|
||||
|
||||
$(window).on("beforeunload", function () {
|
||||
|
||||
// Close the connection gracefully when possible
|
||||
if (webSocket && webSocket.readyState === WebSocket.OPEN) {
|
||||
webSocket.close();
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Gets the server host name.
|
||||
*/
|
||||
|
@ -3419,15 +3427,17 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
|
|||
throw new Error("null itemId");
|
||||
}
|
||||
|
||||
if (self.isWebSocketOpen()) {
|
||||
// Always use the http api in case playback is stopped by closing the browser
|
||||
// See window beforeunload event at the top of this file
|
||||
//if (self.isWebSocketOpen()) {
|
||||
|
||||
var deferred = $.Deferred();
|
||||
// var deferred = $.Deferred();
|
||||
|
||||
self.sendWebSocketMessage("PlaybackStopped", itemId + "|" + (positionTicks == null ? "" : positionTicks));
|
||||
// self.sendWebSocketMessage("PlaybackStopped", itemId + "|" + (positionTicks == null ? "" : positionTicks));
|
||||
|
||||
deferred.resolveWith(null, []);
|
||||
return deferred.promise();
|
||||
}
|
||||
// deferred.resolveWith(null, []);
|
||||
// return deferred.promise();
|
||||
//}
|
||||
|
||||
var params = {
|
||||
};
|
||||
|
@ -3535,7 +3545,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
|
|||
};
|
||||
}
|
||||
|
||||
}(jQuery, navigator, window.JSON, window.WebSocket, setTimeout);
|
||||
}(jQuery, navigator, window.JSON, window.WebSocket, setTimeout, window);
|
||||
|
||||
/**
|
||||
* Provides a friendly way to create an api client instance using information from the browser's current url
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue