Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M Новый топик    Ответить
 Текущий IP через COS  [new]
Александр GAGADDDOC
Member

Откуда: Скейп gabagaga
Сообщений: 168
Добрый день !
Как узнать Текущий IP через COS (каше 5)

СПАСИБО.
25 июл 16, 14:18    [19451414]     Ответить | Цитировать Сообщить модератору
 Re: Текущий IP через COS  [new]
servit
Member

Откуда: г. Кишинёв, Республика Молдова
Сообщений: 3120
Блог
Undocumented Syntax: $P($ZU(54,13,$zu(54,0)),",",1)
Александр GAGADDDOC
Как узнать Текущий IP через COS
Здесь могут быть вопросы: если сетевых интерфейсов несколько, какой их них выбрать?
25 июл 16, 14:53    [19451731]     Ответить | Цитировать Сообщить модератору
 Re: Текущий IP через COS  [new]
Александр GAGADDDOC
Member

Откуда: Скейп gabagaga
Сообщений: 168
servit

СПАСИБО !!!
25 июл 16, 15:01    [19451811]     Ответить | Цитировать Сообщить модератору
 Re: Текущий IP через COS  [new]
Alexey Maslov
Member

Откуда: СПб
Сообщений: 1572
Можно и вполне себе документировано, см.
 set lsIface=##class(%SYSTEM.INetInfo).GetListOfConfiguredInterfaces()
 
for iface=1:1:$ll(lsIface
   
IPv4=$lg($lg(lsIface,iface),2)
   
if $l(IPv4,":")>2 {set IPv4=$lg($lg(lsIface,iface),3) if $l(IPv4,":")>2 {set IPv4=""}}
   
write IPv4,!
 
}
Допустим, интерфейсов несколько, а оно обычно так и есть; достаточно какую-нибудь VPN установить, у меня, например, возвращается:
192.168.10.217/23
192.168.56.1/24
169.254.110.20/0
Как выбрать интерфейс из списка, зависит от задачи. У меня, например, работает код на сервере данных ECP, который, имея список IP-адресов ECP-клиентов, сравнивает их по маске со своими IP и таким образом выбирает правильный IP сервера для каждого ECP-клиента.
26 июл 16, 09:29    [19454962]     Ответить | Цитировать Сообщить модератору
Все форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M Ответить