|
|
|
@ -233,8 +233,6 @@ namespace MediaBrowser.Server.Implementations.Session
|
|
|
|
|
|
|
|
|
|
private Task SendMessageInternal<T>(WebSocketMessage<T> message, CancellationToken cancellationToken)
|
|
|
|
|
{
|
|
|
|
|
if (SkipSending()) return Task.FromResult(true);
|
|
|
|
|
|
|
|
|
|
var socket = GetActiveSocket();
|
|
|
|
|
|
|
|
|
|
return socket.SendAsync(message, cancellationToken);
|
|
|
|
@ -242,8 +240,6 @@ namespace MediaBrowser.Server.Implementations.Session
|
|
|
|
|
|
|
|
|
|
private Task SendMessagesInternal<T>(WebSocketMessage<T> message, CancellationToken cancellationToken)
|
|
|
|
|
{
|
|
|
|
|
if (SkipSending()) return Task.FromResult(true);
|
|
|
|
|
|
|
|
|
|
var tasks = GetActiveSockets().Select(i => Task.Run(async () =>
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
@ -260,27 +256,6 @@ namespace MediaBrowser.Server.Implementations.Session
|
|
|
|
|
return Task.WhenAll(tasks);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private bool SkipSending()
|
|
|
|
|
{
|
|
|
|
|
if (Session != null)
|
|
|
|
|
{
|
|
|
|
|
if (string.Equals(Session.Client, "mb-classic", StringComparison.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
Version version;
|
|
|
|
|
|
|
|
|
|
if (!string.IsNullOrWhiteSpace(Session.ApplicationVersion) && Version.TryParse(Session.ApplicationVersion, out version))
|
|
|
|
|
{
|
|
|
|
|
if (version < new Version(3, 0, 196))
|
|
|
|
|
{
|
|
|
|
|
_logger.Debug("Skipping web socket message to MBC version {0}.", version);
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void Dispose()
|
|
|
|
|
{
|
|
|
|
|
foreach (var socket in Sockets.ToList())
|
|
|
|
|