diff --git a/samples/SimpleServer/Program.cs b/samples/SimpleServer/Program.cs index b171a3a..77f6d7c 100644 --- a/samples/SimpleServer/Program.cs +++ b/samples/SimpleServer/Program.cs @@ -23,7 +23,7 @@ static void Main(string[] args) try { - myServer.BindTo(new CoapUdpEndPoint(IPAddress.Any, Coap.Port) { JoinMulticast = true }); + myServer.BindTo(new CoapUdpEndPoint(Coap.Port) { JoinMulticast = true }); myServer.StartAsync(myHandler, CancellationToken.None).GetAwaiter().GetResult(); @@ -61,6 +61,8 @@ public HelloResource(string uri) : base(uri) public override CoapMessage Get(CoapMessage request) { + Console.WriteLine($"Got request: {request}"); + return new CoapMessage { Code = CoapMessageCode.Content, diff --git a/src/CoAPNet.Udp/CoapUdpEndPoint.cs b/src/CoAPNet.Udp/CoapUdpEndPoint.cs index 180d43d..574b5e0 100644 --- a/src/CoAPNet.Udp/CoapUdpEndPoint.cs +++ b/src/CoAPNet.Udp/CoapUdpEndPoint.cs @@ -61,7 +61,7 @@ public CoapUdpEndPoint(UdpClient udpClient, ILogger logger = nu } public CoapUdpEndPoint(int port = 0, ILogger logger = null) - : this(new IPEndPoint(IPAddress.Any, port), logger) + : this(new IPEndPoint(IPAddress.IPv6Any, port), logger) { } public CoapUdpEndPoint(IPAddress address, int port = 0, ILogger logger = null) @@ -94,7 +94,9 @@ public Task BindAsync() throw new InvalidOperationException("Can not bind to remote endpoint"); - Client = new UdpClient(_endpoint) { EnableBroadcast = true }; + Client = new UdpClient(AddressFamily.InterNetworkV6) { EnableBroadcast = true }; + Client.Client.DualMode = true; + Client.Client.Bind(_endpoint); if (JoinMulticast) {