C# 将发送UDP消息的网卡上的控件

C# 将发送UDP消息的网卡上的控件,c#,.net,C#,.net,我的机器上有两张网卡。 我需要发送2个udp消息,但每个消息都将通过不同的网卡发送 我怎么做 您需要某种方法来识别网络接口。一种方法是使用他们的名字: var networkInterfaceNames = new HashSet<string>() { "Local Area Connection", "Loopback Pseudo-Interface 1" }; 然后,您需要使用这些本地端点发送UDP数据包。一种方法是使用UdpClient: foreach (var

我的机器上有两张网卡。 我需要发送2个udp消息,但每个消息都将通过不同的网卡发送


我怎么做

您需要某种方法来识别网络接口。一种方法是使用他们的名字:

var networkInterfaceNames = new HashSet<string>() {
  "Local Area Connection",
  "Loopback Pseudo-Interface 1"
};
然后,您需要使用这些本地端点发送UDP数据包。一种方法是使用
UdpClient

foreach (var localIpAddress in localIpAddresses) {
  const Int32 LocalPort = 1234;
  var localEndPoint = new IPEndPoint(localIpAddress.Address, LocalPort);
  using (var udpClient = new UdpClient(localEndPoint)) {
    const Int32 RemotePort = 4321;
    var remoteEndPoint = new IPEndPoint(IPAddress.Parse("10.20.30.40"), RemotePort);
    Byte[] payload = ...
    udpClient.Send(payload, payload.Length, remoteEndPoint);
  }
}
foreach (var localIpAddress in localIpAddresses) {
  const Int32 LocalPort = 1234;
  var localEndPoint = new IPEndPoint(localIpAddress.Address, LocalPort);
  using (var udpClient = new UdpClient(localEndPoint)) {
    const Int32 RemotePort = 4321;
    var remoteEndPoint = new IPEndPoint(IPAddress.Parse("10.20.30.40"), RemotePort);
    Byte[] payload = ...
    udpClient.Send(payload, payload.Length, remoteEndPoint);
  }
}