RemoteEndPoint: Identifying the client from the server side

Variant 1: When using TcpListener class for our server there are 2 ways to get the underlying client

            TcpClient client = listener.AcceptTcpClient();

            IPEndPoint remoteEP = (IPEndPoint) client.Client.RemoteEndPoint;




            Socket client = listener.AcceptSocket();

            IPEndPoint remoteEP = (IPEndPoint) client.RemoteEndPoint;


Variant 2: When using the Socket class:

            Socket client = socketServer.Accept();

            IPEndPoint remoteEP = (IPEndPoint) client.RemoteEndPoint;



Then we can very easy get the IPAddress/Port for the client

            IPAddress ip = remoteEP.Address;

            int port = remoteEP.Port;

Comments (3)
  1. amolgholap says:

    I am developing a Client-Server application using TCPLister and TCPClient(sockets).

    I used the below code. It works fine when I create a TCPListener using local m/c’s IP Address.

    However, it doesn’t work if I used other than that.(public IP address).

    ———-Code Start ———–

                IPAddress ipAddress = System.Net.IPAddress.Parse("");

               TcpListener tcpServerListener = null;



                   //create server’s tcp listener for incoming connection

                   tcpServerListener = new TcpListener(ipAddress, 3333);

                   tcpServerListener.Start();    //start server


               catch (System.Net.Sockets.SocketException ex)




    ———-Code End ———–

    It throws socket Exception saying at this line  tcpServerListener.Start();    — {"The requested address is not valid in its context"}

    Can I create a TcpListener on m/c other than localhost?


    Mariya, any help will be highly appericiated !


    Amol Gholap

    Iotap, India

  2. sunnf says:

    RemoteEndPoint: Identifying the client from the server side

  3. theone156 says:

    This might be a dumb question but are you sure the IP address has been assigned properly?

Comments are closed.

Skip to main content