CheckDisposed ();
byte [] recBuffer = new byte [65536]; // Max. size
- EndPoint endPoint = new IPEndPoint (IPAddress.Any, 0);
+ EndPoint endPoint = (EndPoint) remoteEP;
int dataRead = socket.ReceiveFrom (recBuffer, ref endPoint);
if (dataRead < recBuffer.Length)
recBuffer = CutArray (recBuffer, dataRead);
client.Close ();
}
+
+ [Test] // #6057
+ public void ReceiveIPv6 ()
+ {
+ int PORT = 9997;
+ using(var udpClient = new UdpClient (PORT, AddressFamily.InterNetworkV6))
+ using(var udpClient2 = new UdpClient (PORT+1, AddressFamily.InterNetworkV6))
+ {
+ var dataSent = new byte [] {1,2,3};
+ udpClient2.SendAsync (dataSent, dataSent.Length, "::1", PORT);
+
+ IPEndPoint endPoint = new IPEndPoint (IPAddress.IPv6Any, 0);
+ var data = udpClient.Receive (ref endPoint);
+
+ Assert.AreEqual (dataSent.Length, data.Length);
+ }
+ }
/* No test for Ttl default as it is platform dependent */