Luke Pulverenti 8 years ago
parent
commit
e632f4aef3
2 changed files with 15 additions and 3 deletions
  1. 14 2
      Emby.Common.Implementations/Net/SocketFactory.cs
  2. 1 1
      SharedVersion.cs

+ 14 - 2
Emby.Common.Implementations/Net/SocketFactory.cs

@@ -70,11 +70,23 @@ namespace Emby.Common.Implementations.Net
         {
         {
             if (remotePort < 0) throw new ArgumentException("remotePort cannot be less than zero.", "remotePort");
             if (remotePort < 0) throw new ArgumentException("remotePort cannot be less than zero.", "remotePort");
 
 
-            var retVal = new Socket(AddressFamily.InterNetwork, System.Net.Sockets.SocketType.Stream, System.Net.Sockets.ProtocolType.Tcp);
-            
+            var addressFamily = remoteAddress.AddressFamily == IpAddressFamily.InterNetwork
+               ? AddressFamily.InterNetwork
+               : AddressFamily.InterNetworkV6;
+
+            var retVal = new Socket(addressFamily, System.Net.Sockets.SocketType.Stream, System.Net.Sockets.ProtocolType.Tcp);
+
             try
             try
             {
             {
                 retVal.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
                 retVal.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
+            }
+            catch (SocketException)
+            {
+                // This is not supported on all operating systems (qnap)
+            }
+            
+            try
+            {
                 return new UdpSocket(retVal, new IpEndPointInfo(remoteAddress, remotePort));
                 return new UdpSocket(retVal, new IpEndPointInfo(remoteAddress, remotePort));
             }
             }
             catch
             catch

+ 1 - 1
SharedVersion.cs

@@ -1,3 +1,3 @@
 using System.Reflection;
 using System.Reflection;
 
 
-[assembly: AssemblyVersion("3.2.8.16")]
+[assembly: AssemblyVersion("3.2.9.2")]