怎么获得远程IP和端口号

如何获得远程IP和端口号
想实现读写设备与应用软件间通讯,在知道电脑端IP地址和端口号的情况下,想通过接收读写设备主动发来的心跳包确定读写设备的ip地址和端口号,然后实现应用软件向固定IP和端口号的读写设备端下发命令。
请问如何获得设备端的IP和端口号?
       IPEndPoint ipendpoint = new IPEndPoint(IPAddress.Any, 0);
            byte[] receiveByte = udp.Receive(ref ipendpoint);
            string returnData = Encoding.Default.GetString(receiveByte);
想这样编程,然后的receivebyte中获得想要的IP和端口号,但是没有成功。
请问该如何编程?
------解决方案--------------------
你的程序如果需要在设备上安装的话,那么在交互时,让你的程序主动提交设备的地址及端口号
------解决方案--------------------
any sample code...

            Socket udp = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
            udp.Bind(new IPEndPoint(IPAddress.Any, 8888));

            //..........

            byte[] buffer = new byte[1024];
            EndPoint ep = new IPEndPoint(IPAddress.Any, 0);
            while(true)
            {
                int bytesReceived = udp.ReceiveFrom(buffer, ref ep);
                //TODO... if( bytesReceived > 0 ) ep is remote address, include ip and port.
            }