Связь между клиентами и сервером в разных сетях на языке Си#
У меня есть проект, в котором сервер будет взаимодействовать с мультиклиентами. Программа работает нормально, когда сервер и клиенты соединяются в одной сети (один и тот же ip-адрес и один и тот же порт). Однако мне нужно менять ip-адрес своего сервера каждый раз, когда я переезжаю в другое место. Есть ли какой-нибудь возможный способ, чтобы сервер и клиент всегда были подключены, даже если они находятся в разных сетях? Должен ли я изменить ip-адрес сервера на статический и как это сделать программно? Любой пример и руководство могут быть оценены по достоинству.
Спасибо
Что я уже пробовал:
Я попробовал этот код, чтобы изменить свой статический ip-адрес sever, но мне все равно придется изменить свой код, если я перееду в другое место.
private void setIP(string ip_address) { ManagementClass objMC = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection objMOC = objMC.GetInstances(); foreach (ManagementObject objMO in objMOC) { if((bool)objMO["IPEnabled"]) { try { ManagementBaseObject setIP; ManagementBaseObject newIP = objMO.GetMethodParameters("EnableStatic"); newIP["IPAddress"] = new IPAddress[] { IPAddress.Parse(ip_address) }; setIP = objMO.InvokeMethod("EnableStatic", newIP, null); } catch (Exception ex) { } } } }
Richard MacCutchan
IP-адреса контролируются сетевым провайдером. Поговорите с ними о выделении статического адреса.