powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как определить локальный IP адрес?
25 сообщений из 26, страница 1 из 2
Как определить локальный IP адрес?
    #33255952
Фотография Serega128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как определить локальный IP адрес средствами С++ Builder?
...
Рейтинг: 0 / 0
Как определить локальный IP адрес?
    #33256086
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
string getLocalIP()
{
return "127.0.0.1";
}

:-)

вообще можно получить GetHostName
затем сделать
gethostbyaddr
и получить адрес.
но на машине может больше 1ого ip адреса, тут не знаю как быть
...
Рейтинг: 0 / 0
Как определить локальный IP адрес?
    #33256097
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как определить локальный IP адрес?
    #33256466
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_k
но на машине может больше 1ого ip адреса, тут не знаю как быть


О кстате , точна ...
...
Рейтинг: 0 / 0
Как определить локальный IP адрес?
    #33256753
Фотография Землекоп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Должен все перебрать

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
#include <windows.h>
#include <stdio.h>
#include <string>
#include <iostream.h>

int doit(int, char **)
{
    char ac[ 80 ];
    if (gethostname(ac, sizeof(ac)) == SOCKET_ERROR) {
        cerr << "Error " << WSAGetLastError() <<
                " when getting local host name." << endl;
        return  1 ;
    }
    cout << "Host name is " << ac << "." << endl;

    struct hostent *phe = gethostbyname(ac);
    if (phe ==  0 ) {
        cerr << "Yow! Bad host lookup." << endl;
        return  1 ;
    }

    for (int i =  0 ; phe->h_addr_list[i] !=  0 ; ++i) {
        struct in_addr addr;
        memcpy(&addr, phe->h_addr_list[i], sizeof(struct in_addr));
        cout << "Address " << i << ": " << inet_ntoa(addr) << endl;
    }
    
    return  0 ;
}

int main(int argc, char *argv[])
{
    WSAData wsaData;
    if (WSAStartup(MAKEWORD( 1 ,  1 ), &wsaData) !=  0 ) {
        return  255 ;
    }

    int retval = doit(argc, argv);

    WSACleanup();

    return retval;
}
...
Рейтинг: 0 / 0
Как определить локальный IP адрес?
    #33256826
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бу Га Га
Молчал, молчал , но больше не буду
...
Рейтинг: 0 / 0
Как определить локальный IP адрес?
    #33257512
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Бу Га Га
Молчал, молчал , но больше не буду

совсем согласен кроме этого утверждения :

"Не забудьте, что функция GetIpAddress всегда будет возвращать внутренний адрес (127.0.0.1). Он всегда существует"
...
Рейтинг: 0 / 0
Как определить локальный IP адрес?
    #33257695
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На Windows насколько мне известно всегда
...
Рейтинг: 0 / 0
Как определить локальный IP адрес?
    #33258154
Фотография Serega128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Много поведали, спасибо,
я же выкрутился вот так:


// #include <winsock2.h>

AnsiString out = "WinSock ERR";
WSADATA wsaData;
if (!WSAStartup(WINSOCK_VERSION, &wsaData))
{
char chInfo[64];
if(!gethostname(chInfo, sizeof(chInfo)))
{
hostent *sh;
sh=gethostbyname((char*)&chInfo);
if(sh!=NULL)
{
int nAdapter = 0;
while (sh->h_addr_list[nAdapter])
{
struct sockaddr_in adr;
memcpy(&adr.sin_addr, sh->h_addr_list[nAdapter], sh->h_length);
out = inet_ntoa(adr.sin_addr);
nAdapter++;
}
}
}
}
WSACleanup();
ShowMessage(out);
...
Рейтинг: 0 / 0
Как определить локальный IP адрес?
    #33259913
Егор3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VISUAL C++ 6.0

автор#include <winsock2.h>

// AnsiString out = "WinSock ERR";
CString out = "WinSock ERR";
WSADATA wsaData;
if (!WSAStartup(WINSOCK_VERSION, &wsaData))
{
char chInfo[64];
if(!gethostname(chInfo, sizeof(chInfo)))
{
hostent *sh;
sh=gethostbyname((char*)&chInfo);
if(sh!=NULL)
{
int nAdapter = 0;
while (sh->h_addr_list[nAdapter])
{
struct sockaddr_in adr;
memcpy(&adr.sin_addr, sh->h_addr_list[nAdapter], sh->h_length);
out = inet_ntoa(adr.sin_addr);
nAdapter++;
}
}
}
}
WSACleanup();
//-ShowMessage(out);
MessageBox(out);

Linking...
HelloView.obj : error LNK2001: unresolved external symbol __imp__WSACleanup@0
HelloView
.obj : error LNK2001: unresolved external symbol __imp__inet_ntoa@4
HelloView
.obj : error LNK2001: unresolved external symbol __imp__gethostbyname@4
HelloView
.obj : error LNK2001: unresolved external symbol __imp__gethostname@8
HelloView
.obj : error LNK2001: unresolved external symbol __imp__WSAStartup@8
Debug
/Hello.exe : fatal error LNK1120: 5 unresolved externals
Error executing link.exe.

Hello.exe - 6 error(s)
...
Рейтинг: 0 / 0
Как определить локальный IP адрес?
    #33259946
Фотография Землекоп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нужно добавить wsock32.lib в Object/library modules
...
Рейтинг: 0 / 0
Как определить локальный IP адрес?
    #33260197
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
#pragma comment(lib,"WS2_32.lib")
...
Рейтинг: 0 / 0
Как определить локальный IP адрес?
    #33261031
Егор3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СПАСИБО ОБОИМ
Gluk (Kazan)
Землекоп
Код: plaintext
1.
ДОСТАТОЧНО НИЖЕСЛЕДУЮЩЕЙ СТРОКИ
#pragma comment(lib,"WS2_32.lib")
...
Рейтинг: 0 / 0
Как определить локальный IP адрес?
    #33261086
Егор3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Определили IP cвоего компьютера,
ИНТЕРЕМНО, как всех в СЕТИ моей фирмы ?

СПАСИБО
...
Рейтинг: 0 / 0
Как определить локальный IP адрес?
    #33262347
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)На Windows насколько мне известно всегда

при отсутствии сетевых протоколов тоже ?
...
Рейтинг: 0 / 0
Как определить локальный IP адрес?
    #33263391
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторпри отсутствии сетевых протоколов тоже ?

Клиника не рассматривается
...
Рейтинг: 0 / 0
Как определить локальный IP адрес?
    #33263413
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Linux надо прописывать localhost явно
в Windows не надо :)
...
Рейтинг: 0 / 0
Как определить локальный IP адрес?
    #33299076
мда
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluk (Kazan)В Linux надо прописывать localhost явно
в Windows не надо :)

Если прописать локалхосту другой адрес то 127.0.01 не будет что и требовалось доказать.
...
Рейтинг: 0 / 0
Как определить локальный IP адрес?
    #33299083
ага
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
философы мля )
...
Рейтинг: 0 / 0
Как определить локальный IP адрес?
    #33299103
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мда Gluk (Kazan)В Linux надо прописывать localhost явно
в Windows не надо :)

Если прописать локалхосту другой адрес то 127.0.01 не будет что и требовалось доказать.

У Вас хромает логика :( На обе ноги. Я что-то говорил про 127.0.0.1 ???
...
Рейтинг: 0 / 0
Как определить локальный IP адрес?
    #33299444
мда
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluk (Kazan) мда Gluk (Kazan)В Linux надо прописывать localhost явно
в Windows не надо :)

Если прописать локалхосту другой адрес то 127.0.01 не будет что и требовалось доказать.

У Вас хромает логика :( На обе ноги. Я что-то говорил про 127.0.0.1 ???

Lepsik тут аднака нацарапал
"Не забудьте, что функция GetIpAddress всегда будет возвращать внутренний адрес (127.0.0.1). Он всегда существует"
на что Gluk (Kazan) пачимута вазразилНа Windows насколько мне известно всегда

Унимание вапрос: у каго эта тут храмаит логика?
...
Рейтинг: 0 / 0
Как определить локальный IP адрес?
    #33299484
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не верь им всем. Локальный адрес только один и он всегда фиксированный,
127.0.0.1 .
...
Рейтинг: 0 / 0
Как определить локальный IP адрес?
    #33299496
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivНе верь им всем. Локальный адрес только один и он всегда фиксированный,
127.0.0.1 .

я тоже это в какойто книжке читал
...
Рейтинг: 0 / 0
Как определить локальный IP адрес?
    #33299751
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мдаУнимание вапрос: у каго эта тут храмаит логика?

Подпишусь под каждым СВОИМ словом.
Что Вас смущает ?
...
Рейтинг: 0 / 0
Как определить локальный IP адрес?
    #33300645
мда
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluk (Kazan) мдаУнимание вапрос: у каго эта тут храмаит логика?

Подпишусь под каждым СВОИМ словом.
Что Вас смущает ?

Паясняю исчо раз и очинь падробна:
Я так жы как и Lepsik решительна не сагласен с этим:
"Не забудьте, что функция GetIpAddress ВСЕГДА будет возвращать внутренний адрес (127.0.0.1)."
И с этим:
"Он ВСЕГДА СУЩЕСТВУЕТ".

Терь дошло?
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как определить локальный IP адрес?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]