С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
76 / 50 / 26
Регистрация: 22.02.2015
Сообщений: 306

Как сделать bind с моим IP

28.08.2015, 15:38. Показов 2032. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Наверное тема стара и найти ответ в google 1-5 сек, но сейчас мне быстрее спросить здесь. Так вот:
C++
1
2
3
4
sockaddr_in local_addr;
    local_addr.sin_family = AF_INET;
    local_addr.sin_port = htons(666); 
    local_addr.sin_addr.s_addr = inet_addr("176.194.205.122");
Eсли заменить на 0 в последней строчке адрес, то выдан будет 127.0.0.1 адрес и в bind сработает, а если оставить так то bind ошибку выдаст. Как исправить ?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.08.2015, 15:38
Ответы с готовыми решениями:

Как линк специфического формата сделать читаемым моим браузером?
link /assets/course14/contacts.png браузер mazila firefox 38 а то он его не видит как бы

Как сделать библиотеку DLL с моим компонентом видимой для COM?
Я создал компонент, он работает в готовом exe. Я создал DLL и засунул туда этот компонент. Он работает если создавать его из кода (Dim a...

Как сделать чтоб файлы с моим расширением открывались моей программой?
В винде поклацал, теперь при запуске файлов с моим расширением открывается моя программа, что прописать чтоб при этом и файл этот...

7
 Аватар для Bend3r
150 / 137 / 35
Регистрация: 29.07.2012
Сообщений: 709
28.08.2015, 23:07
C++
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include "stdafx.h"
 
#include <winsock2.h>
#include <ws2tcpip.h>
 
#pragma comment( lib, "ws2_32.lib")    // WSAStartup  WSACleanup
 
int main(int argc, char* argv[])
{
    // ----------------------------------------------------------------------
    //                                                  WSAStartup()
    // ----------------------------------------------------------------------
    WSADATA  wsaData = {0};
    int iResult = WSAStartup( MAKEWORD(2,2), &wsaData );
    if( iResult )
    {
        printf("WSAStartup()  Error %d \n\n", iResult);
        return 1;
    }else{
        printf("WSAStartup()  OK  \n\n");
    }
 
    struct addrinfo hints = { 0 };
    struct addrinfo *result = NULL;
 
    hints.ai_family = AF_UNSPEC;    // winsock2.h
    hints.ai_socktype = SOCK_STREAM;
    hints.ai_protocol = IPPROTO_TCP;
 
    // ----------------------------------------------------------------------
    //                                                  getaddrinfo()
    // ----------------------------------------------------------------------
    iResult = getaddrinfo( "compname", "0", &hints, &result);
    if( iResult )
    {
        printf("getaddrinfo()  Error %d \n\n", iResult);
        WSACleanup();
        return 1;
    }else{
        printf("getaddrinfo()  OK \n\n");
    }
    // ----------------------------------------------------------------------
    //                                                 struct addrinfo
    //     Retrieve address from    struct addrinfo *result
    // ----------------------------------------------------------------------
    struct addrinfo *ptr = NULL;
    struct sockaddr_in  *sockaddr_ipv4;
    int i=0;
    for(ptr=result; ptr != NULL ;ptr=ptr->ai_next) 
    {
        printf("getaddrinfo response %d\n", i++);
        printf("\tFlags: 0x%x\n", ptr->ai_flags);
 
        printf("\tFamily: ");
        switch (ptr->ai_family) {
            case AF_UNSPEC:
                printf("Unspecified\n");
                break;
            case AF_INET:
                printf("AF_INET (IPv4)\n");
                sockaddr_ipv4 = (struct sockaddr_in *) ptr->ai_addr;
                printf("\tIPv4 address %s\n",
                    inet_ntoa(sockaddr_ipv4->sin_addr) );
                break;
            case AF_INET6:
                printf("AF_INET6 (IPv6)\n");
                break;
            case AF_NETBIOS:
                printf("AF_NETBIOS (NetBIOS)\n");
                break;
            default:
                printf("Other %ld\n", ptr->ai_family);
                break;
        }
 
    }
    freeaddrinfo(result);
 
    // ----------------------------------------------------------------------
    //                                                  WSACleanup()
    // ----------------------------------------------------------------------
    iResult = WSACleanup();
    if( iResult )
    {
        printf("WSACleanup()  Error %d \n\n", iResult);
    }else{
        printf("WSACleanup()  OK \n\n");
    }
    return 0;
}
Здесь почитайте Как узнать свой внешний ip адрес?
0
76 / 50 / 26
Регистрация: 22.02.2015
Сообщений: 306
29.08.2015, 00:51  [ТС]
Bend3r, программа IP получает ? Ну я свой ip знаю... но не работает всё равно bind.
0
 Аватар для Shvonder
46 / 35 / 24
Регистрация: 16.03.2015
Сообщений: 179
29.08.2015, 11:55
Лучший ответ Сообщение было отмечено DUMP как решение

Решение

DUMP, маршрутизатор (модем), настроить в режим Bridge (мост).
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
29.08.2015, 12:04
Покопался в исходниках своих старых программ. Попробуй так:

C
local_addr.sin_addr.s_addr = INADDR_ANY;
0
Псевдослучайный
1946 / 1146 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
29.08.2015, 15:13
Evg, INADDR_ANY — это как раз-таки ноль.
ТС: по идее слушающий сокет с нулями в адресе будет доступен из всех имеющихся сетей и локальный интерфейс не исключение.
А если делать connect, то выберется тот адрес, по которому возможно подключение. Для подключения к локалхосту в этом случае выбор 127.0.0.1 самоочевиден.
0
1263 / 977 / 384
Регистрация: 02.09.2012
Сообщений: 3,020
30.08.2015, 03:40
Что возвращает bind?? Какую ошибку дает?
0
76 / 50 / 26
Регистрация: 22.02.2015
Сообщений: 306
30.08.2015, 09:30  [ТС]
Да всё. Спасибо, ребят. В роутере дело оказалось.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.08.2015, 09:30
Помогаю со студенческими работами здесь

Bind: как сделать одну универсальную зону DNS на все домены?
Друзья! Подскажите пожалуйста как решить проблему с BIND. Уже 3-ий день бьюсь над решением, но ответа не получается найти. ...

Хочу поставить новую видеокарту,как это сделать и какую лучше ставить с моим железом?
Мой комп -Athlon 2500+,оперативка 512mb.материнская плата ECS SIS735 DDR/SDRAM ATA 100 Sound lan ATX.видеокарта стоит Radeon 9200...

Как запустить Apache по моим юзером по умолчанию?
Как зделать так, чтобы apache запускался под моим юзером? По умолчанию он запускается под www, а нужно чтобы он запускался под моим юзером,...

Как настроить bind?
Всем привет. Начал разбираться в DNS сервере BIND. Возникла проблема: после запуска bind'a набираю nslookup test.ts 127.0.0.1 и мне...

Как установить bind?
Приветствую всех! Второй раз в жизни устанавливаю ISP Manager Lite на CentOS 6.4, на сей раз возникли некоторые трудности. Отчасти...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru