Программирование сокетов
Модератор: Модераторы разделов
-
fleisch
- Сообщения: 40
- ОС: OpenSuSE Linux 11.1
Программирование сокетов
Блин, вот изучаю программирование сокетов. В инете полно инфы как заполнить структуру sockaddr_in. Но про поле sin_addr написано только как его заполнить, используя имя сервера, а про то, как преобразовать обычный IP-адрес, никто не упомянул даже. Плиз, есть переменная ip_address = "192.168.88.2" - как его запихнуть в sin_addr ???
-
CycaHuH
- Сообщения: 85
- ОС: FreeBSD; Archlinux; Calculate
Re: Программирование сокетов
Так например
Код: Выделить всё
struct hostent *host;
struct sockaddr_in saddr;
host = gethostbyname (ip_address);
saddr.sin_family= AF_INET;
saddr.sin_addr = *((struct in_addr *) host->h_addr);
saddr.sin_port = htons (port);-
MUTOgen
- Сообщения: 343
- Статус: i like the way you move
- ОС: OpenSuse 11.1
Re: Программирование сокетов
возможно так?
....
struct sockaddr_in servaddr;
...
inet_pton(AF_INET, ip_address, &servaddr.sin_addr);
...
P.S. не проверял, за точность не отвечаю.
UPD: #include <arpa/inet.h>
....
struct sockaddr_in servaddr;
...
inet_pton(AF_INET, ip_address, &servaddr.sin_addr);
...
P.S. не проверял, за точность не отвечаю.
UPD: #include <arpa/inet.h>
-
fleisch
- Сообщения: 40
- ОС: OpenSuSE Linux 11.1
Re: Программирование сокетов
Всем спасибо за ответ
) Помогло 
-
watashiwa_daredeska
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
-
MUTOgen
- Сообщения: 343
- Статус: i like the way you move
- ОС: OpenSuse 11.1
Re: Программирование сокетов
Стивенсу спасибо за книжку "Unix. Разработка сетевых приложений"