AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: База знаний и проекты
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.12.2005, 11:56   #1  
listener is offline
listener
Участник
 
74 / 11 (1) +
Регистрация: 23.07.2003
Адрес: г. Москва
Как получить IP адрес клиента ?
Как получить IP адресс клиента? Axapta 3.1
Старый 23.12.2005, 14:18   #2  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
X++:
static void GetClientIP(Args _args)
{
    xSession session = new xSession();
    container   Addr;
    int         k;

    container GetHostByName(str Host)
    {
        DLL         dll = new DLL("Ws2_32.dll");
        DLLFunction _getHostByName = new DLLFunction(dll, "gethostbyname");
        DLLFunction _inet_ntoa = new DLLFunction(dll, "inet_ntoa");
        int         Hostent;
        Binary      bin = new Binary(16);
        Binary      h, h1;
        int         i;
        container   c = connull();
        str         s;
        ;
        _getHostByName.arg(ExtTypes::String);
        _getHostByName.returns(ExtTypes::DWord);
        Hostent = _getHostByName.Call(Host);
        if (Hostent)
        {
            bin.attach(Hostent, 16);
            if (bin.word(8) == 2 && bin.word(10) == 4)
            {
                h = new Binary(4*251);
                h.attach(bin.DWord(12), 4*251);

                _inet_ntoa.arg(ExtTypes::DWord);
                _inet_ntoa.returns(ExtTypes::String);
                h1 = new Binary(bin.word(10));
                for (i=0;h.DWord(i);i+=4)
                {
                    h1.attach(h.DWord(i), bin.word(10));
                    s = _inet_ntoa.call(h1.DWord(0));
                    if (s)
                        c += [s];
                }
            }
        }
        return c;
    }
    ;
    Addr = GetHostByName(Session.clientComputerName());
    for (k=1;k<=ConLen(Addr);k++)
        info(ConPeek(Addr, k));
}
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: raz (3), belugin (1), kashperuk (2), alex55 (1).
Теги
faq, winapi, законченный пример, программно, сеть

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Снова об IP-адресе клиента xenikk DAX: Программирование 20 30.06.2020 10:34
Как получить screen клиента и передать его на сервер приложений velk DAX: Программирование 5 18.10.2006 17:54
Адрес клиента Pegiy DAX: Функционал 4 29.07.2004 11:19
Адрес клиента в Аксапта 3.0 кто-нить вводил? Venera DAX: Функционал 8 05.11.2003 19:44
sp5. Возможность получить Корр.счет ГК попроводкам клиента/поставщика без извращений studentLPC DAX: Функционал 20 27.05.2003 13:55
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:48.