aboutsummaryrefslogtreecommitdiff
path: root/Emby.Common.Implementations/Net/UdpSocket.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Emby.Common.Implementations/Net/UdpSocket.cs')
-rw-r--r--Emby.Common.Implementations/Net/UdpSocket.cs16
1 files changed, 10 insertions, 6 deletions
diff --git a/Emby.Common.Implementations/Net/UdpSocket.cs b/Emby.Common.Implementations/Net/UdpSocket.cs
index e4b0c7d6d..8e2a1da6f 100644
--- a/Emby.Common.Implementations/Net/UdpSocket.cs
+++ b/Emby.Common.Implementations/Net/UdpSocket.cs
@@ -14,7 +14,7 @@ namespace Emby.Common.Implementations.Net
// THIS IS A LINKED FILE - SHARED AMONGST MULTIPLE PLATFORMS
// Be careful to check any changes compile and work for all platform projects it is shared in.
- internal sealed class UdpSocket : DisposableManagedObjectBase, IUdpSocket
+ internal sealed class UdpSocket : DisposableManagedObjectBase, ISocket
{
#region Fields
@@ -23,8 +23,6 @@ namespace Emby.Common.Implementations.Net
private int _LocalPort;
#endregion
- #region Constructors
-
public UdpSocket(Socket socket, int localPort, IPAddress ip)
{
if (socket == null) throw new ArgumentNullException("socket");
@@ -36,7 +34,13 @@ namespace Emby.Common.Implementations.Net
_Socket.Bind(new IPEndPoint(ip, _LocalPort));
}
- #endregion
+ public UdpSocket(Socket socket, IpEndPointInfo endPoint)
+ {
+ if (socket == null) throw new ArgumentNullException("socket");
+
+ _Socket = socket;
+ _Socket.Connect(NetworkManager.ToIPEndPoint(endPoint));
+ }
public IpAddressInfo LocalIPAddress
{
@@ -44,9 +48,9 @@ namespace Emby.Common.Implementations.Net
private set;
}
- #region IUdpSocket Members
+ #region ISocket Members
- public Task<SocketReceiveResult> ReceiveAsync()
+ public Task<SocketReceiveResult> ReceiveAsync(CancellationToken cancellationToken)
{
ThrowIfDisposed();