Browse Source

add additional http server error handling

Luke Pulverenti 8 years ago
parent
commit
40e8d0c75e

+ 1 - 1
Nuget/MediaBrowser.Common.nuspec

@@ -2,7 +2,7 @@
 <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
     <metadata>
         <id>MediaBrowser.Common</id>
-        <version>3.0.691</version>
+        <version>3.0.692</version>
         <title>Emby.Common</title>
         <authors>Emby Team</authors>
         <owners>ebr,Luke,scottisafool</owners>

+ 2 - 2
Nuget/MediaBrowser.Server.Core.nuspec

@@ -2,7 +2,7 @@
 <package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
     <metadata>
         <id>MediaBrowser.Server.Core</id>
-        <version>3.0.691</version>
+        <version>3.0.692</version>
         <title>Emby.Server.Core</title>
         <authors>Emby Team</authors>
         <owners>ebr,Luke,scottisafool</owners>
@@ -12,7 +12,7 @@
         <description>Contains core components required to build plugins for Emby Server.</description>
         <copyright>Copyright © Emby 2013</copyright>
         <dependencies>
-            <dependency id="MediaBrowser.Common" version="3.0.691" />
+            <dependency id="MediaBrowser.Common" version="3.0.692" />
         </dependencies>
     </metadata>
     <files>

+ 4 - 0
RSSDP/SsdpCommunicationsServer.cs

@@ -182,6 +182,10 @@ namespace Rssdp.Infrastructure
             try
             {
                 await socket.SendAsync(messageData, messageData.Length, destination).ConfigureAwait(false);
+            }
+            catch (ObjectDisposedException)
+            {
+
             }
             catch (Exception ex)
             {

+ 4 - 1
SocketHttpListener.Portable/Net/EndPointListener.cs

@@ -71,7 +71,10 @@ namespace SocketHttpListener.Net
             }
             catch (SocketCreateException ex)
             {
-                if (_enableDualMode && endpoint.IpAddress.Equals(IpAddressInfo.IPv6Any) && string.Equals(ex.ErrorCode, "AddressFamilyNotSupported", StringComparison.OrdinalIgnoreCase))
+                if (_enableDualMode && endpoint.IpAddress.Equals(IpAddressInfo.IPv6Any) && 
+                    (string.Equals(ex.ErrorCode, "AddressFamilyNotSupported", StringComparison.OrdinalIgnoreCase) || 
+                    // mono on bsd is throwing this
+                    string.Equals(ex.ErrorCode, "ProtocolNotSupported", StringComparison.OrdinalIgnoreCase)))
                 {
                     endpoint = new IpEndPointInfo(IpAddressInfo.Any, endpoint.Port);
                     _enableDualMode = false;