How to specify source port of a UdpPacket?

2019-01-26 10:19发布

I wanted to send UdpPacket to a specific remote host (I already know the public IP and Port). I wanted to use C#'s UdpClient class.

static int Main()
{
     UdpClient client = new UdpClient();
     IPEndPoint remoteEP = new IPEndPoint(IPAddress.Parse("1.2.3.4"), 9999);

     byte[] data = GetData();
     client.Send(data, data.Length, remoteEP);
}

When sending a packet, the UdpClient choose an available port automatically. I want to manually set the port, from which I send the packets.

Thanks for your help in advance!

1条回答
放荡不羁爱自由
2楼-- · 2019-01-26 11:15

Try specifying the endpoint when you create the UdpClient:

UdpClient client = new UdpClient(localEndpoint);

EDIT: Note that you can also specify just the port number:

UdpClient client = new UdpClient(localPort);

That may be somewhat simpler :)

查看更多
登录 后发表回答