Skip to content

Instantly share code, notes, and snippets.

@madhub
Created January 19, 2023 05:02
Show Gist options
  • Save madhub/81abd1e026fe21789bf26f762500bd83 to your computer and use it in GitHub Desktop.
Save madhub/81abd1e026fe21789bf26f762500bd83 to your computer and use it in GitHub Desktop.
Supporting IPv4 and IPv6 dual mode network with one socket

Supporting IPv4 and IPv6 dual mode network with one socket

// TCP Server
var listener = new TcpListener(new IPEndPoint(IPAddress.IPv6Any, 8080));
listener.Server.DualMode = true;
listener.Start();

// TCP Client
var client = new TcpClient(AddressFamily.InterNetworkV6);
client.Client.DualMode = true;
await client.ConnectAsync("127.0.0.1", port: 8080);

// UDP Server
var listener = new UdpClient(AddressFamily.InterNetworkV6);
listener.Client.DualMode = true;
listener.Client.Bind(new IPEndPoint(IPAddress.IPv6Any, 8080));

// UDP Client
var client = new UdpClient(AddressFamily.InterNetworkV6);
client.Client.DualMode = true;
client.Connect("127.0.0.1", port : 8080);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment