diff options
Diffstat (limited to 'src/Jellyfin.Networking/Udp/SocketFactory.cs')
| -rw-r--r-- | src/Jellyfin.Networking/Udp/SocketFactory.cs | 49 |
1 files changed, 24 insertions, 25 deletions
diff --git a/src/Jellyfin.Networking/Udp/SocketFactory.cs b/src/Jellyfin.Networking/Udp/SocketFactory.cs index c4e1bd091..f0267debc 100644 --- a/src/Jellyfin.Networking/Udp/SocketFactory.cs +++ b/src/Jellyfin.Networking/Udp/SocketFactory.cs @@ -3,37 +3,36 @@ using System.Net; using System.Net.Sockets; using MediaBrowser.Model.Net; -namespace Jellyfin.Networking.Udp +namespace Jellyfin.Networking.Udp; + +/// <summary> +/// Factory class to create different kinds of sockets. +/// </summary> +public class SocketFactory : ISocketFactory { - /// <summary> - /// Factory class to create different kinds of sockets. - /// </summary> - public class SocketFactory : ISocketFactory + /// <inheritdoc /> + public Socket CreateUdpBroadcastSocket(int localPort) { - /// <inheritdoc /> - public Socket CreateUdpBroadcastSocket(int localPort) + if (localPort < 0) { - if (localPort < 0) - { - throw new ArgumentException("localPort cannot be less than zero.", nameof(localPort)); - } + throw new ArgumentException("localPort cannot be less than zero.", nameof(localPort)); + } - var socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); - try - { - socket.EnableBroadcast = true; - socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true); - socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, 1); - socket.Bind(new IPEndPoint(IPAddress.Any, localPort)); + var socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); + try + { + socket.EnableBroadcast = true; + socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true); + socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, 1); + socket.Bind(new IPEndPoint(IPAddress.Any, localPort)); - return socket; - } - catch - { - socket.Dispose(); + return socket; + } + catch + { + socket.Dispose(); - throw; - } + throw; } } } |
