mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-07-11 00:01:05 +02:00
close web socket gracefully to reduce error messages in server log
This commit is contained in:
parent
52ca9527cc
commit
8398a5a32e
|
@ -88,6 +88,12 @@ namespace MediaBrowser.Server.Implementations.HttpServer
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (bytes == null)
|
||||||
|
{
|
||||||
|
// Connection closed
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if (OnReceiveBytes != null)
|
if (OnReceiveBytes != null)
|
||||||
{
|
{
|
||||||
OnReceiveBytes(bytes);
|
OnReceiveBytes(bytes);
|
||||||
|
@ -110,7 +116,8 @@ namespace MediaBrowser.Server.Implementations.HttpServer
|
||||||
|
|
||||||
if (result.CloseStatus.HasValue)
|
if (result.CloseStatus.HasValue)
|
||||||
{
|
{
|
||||||
throw new WebSocketException("Connection closed");
|
_logger.Info("Web socket connection closed.");
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return buffer.Array;
|
return buffer.Array;
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
window.MediaBrowser = {};
|
window.MediaBrowser = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
|
MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, window) {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new api client instance
|
* Creates a new api client instance
|
||||||
|
@ -27,6 +27,14 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
|
||||||
var currentUserId;
|
var currentUserId;
|
||||||
var webSocket;
|
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.
|
* Gets the server host name.
|
||||||
*/
|
*/
|
||||||
|
@ -3419,15 +3427,17 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
|
||||||
throw new Error("null itemId");
|
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, []);
|
// deferred.resolveWith(null, []);
|
||||||
return deferred.promise();
|
// return deferred.promise();
|
||||||
}
|
//}
|
||||||
|
|
||||||
var params = {
|
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
|
* Provides a friendly way to create an api client instance using information from the browser's current url
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="MediaBrowser.ApiClient.Javascript" version="3.0.171" targetFramework="net45" />
|
<package id="MediaBrowser.ApiClient.Javascript" version="3.0.172" targetFramework="net45" />
|
||||||
<package id="ServiceStack.Common" version="3.9.58" targetFramework="net45" />
|
<package id="ServiceStack.Common" version="3.9.58" targetFramework="net45" />
|
||||||
<package id="ServiceStack.Text" version="3.9.58" targetFramework="net45" />
|
<package id="ServiceStack.Text" version="3.9.58" targetFramework="net45" />
|
||||||
</packages>
|
</packages>
|
Loading…
Reference in a new issue