How to know the port number used by c# UdpClient?

Syaiful Nizam Yahya picture Syaiful Nizam Yahya · Nov 6, 2010 · Viewed 12.2k times · Source

I am creating a client server application using c sharp. The server is using tcplistener with fixed port number. the client connect to the server using tcpclient. Once connected, both client and server communicate using this connection. The application then create new udp connection to send and receive message. Since the server suppose to accept multiple connection from single client, i have to differentiate each connection with different port. In order to do this, i have to first 1. at server, create a udpclient (automatically use unused udp port at the server). 2. sends the port number used by the server udpclient to the client. 3. the client sends data to the server using specified port number.

The problem is, how to create a udpclient where you can know the port number used?

Answer

Syaiful Nizam Yahya picture Syaiful Nizam Yahya · Nov 6, 2010

Here are the answer to my questions.

UdpClient udpClient = new UdpClient(0));
Console.WriteLine("UDP port : " + ((IPEndPoint)udpClient.Client.LocalEndPoint).Port.ToString());

0 as the constructor parameter set the app to automatically find free udp port. ((IPEndPoint)udpClient.Client.LocalEndPoint)).Port.ToString() is used to find the port number.