I cant seem to get or find information on finding my routers public IP? Is this because it cant be done this way and would have to get it from a website?
Expanding on this answer by @suneel ranga:
static System.Net.IPAddress GetPublicIp(string serviceUrl = "https://ipinfo.io/ip")
{
return System.Net.IPAddress.Parse(new System.Net.WebClient().DownloadString(serviceUrl));
}
Where you would use a service with System.Net.WebClient that simply shows the IP address as a string and uses the System.Net.IPAddress object. Here are a few such services*:
* Some services were mentioned in this question and from these answers from superuser site.