Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.08.30;
Скачать: CL | DM;

Вниз

Сокеты. Заполнение структуры адреса сервера   Найти похожие ветки 

 
Цукор5   (2009-06-30 13:04) [0]

Предположим, у меня несколько сетевых подключений. Скажем, 3.
Что я должен указывать в адресе ?

Addr.sin_family:=PF_Inet;
Addr.sin_port:=HToNS(некий порт);
Addr.sin_addr.S_addr:=InAddr_Any;   // !!! или Inet_Addr(IP одного из моих соединений);


 
Сергей М. ©   (2009-06-30 13:55) [1]


> или Inet_Addr(IP одного из моих соединений);


На момент заполнения структуры никаких соединений с удаленными клиентами еще нет


 
Цукор5   (2009-06-30 13:59) [2]

Нет.


 
Сергей М. ©   (2009-06-30 14:50) [3]

Чего "нет" ?

Я у тебя ничегло не спрашивал - это утверждение, а не вопрос)


 
Цукор5   (2009-06-30 15:32) [4]

Тогда я не понял ответ.
У меня 2 соединения для инета и локалки. А третье это GPRS и именно по нему будут идти пакеты от удаленных устройств.

Ну и чего мне ставить в Addr.sin_addr.S_addr ?


 
Сергей М. ©   (2009-06-30 16:08) [5]


> У меня 2 соединения для инета и локалки. А третье это GPRS


Это не соединения , а сетевые интерфейсы.
Плюс к ним существует еще loopback-интерфейс localhost (127.0.0.1)
Каждый существующий в системе сетевой интерфейс ассоциирован как минимум с одним IP-адресом.

InAddr_Any означает, что твой прикладной сервер будет взаимодействовать  с любым из IP-адресов любого из доступных сет.интерфейсов.

Для того чтобы твой сервер обслуживал только тех клиентов, которые будут ходить к нему через сет.интерфейс, ассоцированный с  GPRS-устройством, в поле S_addr следует указать тот или иной IP-адрес, ассоциированный с этим интерфейсом.


 
Цукор5   (2009-06-30 17:17) [6]

Спасибо !


 
Сергей М. ©   (2009-06-30 17:27) [7]


> или Inet_Addr(IP одного из моих соединений);


Не забывай про перевод порядка следования байт: в поле S_addr он д.б. указан как сетевой, а не машинный.

см.
htonl() - машинный в сетевой,
ntohl() - сетевой в машинный



Страницы: 1 вся ветка

Текущий архив: 2009.08.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
2-1246437194
abhtr
2009-07-01 12:33
2009.08.30
Как программно нажать клавиши Alt+стрелка вниз


15-1245862036
Nic
2009-06-24 20:47
2009.08.30
Открывается ли сайт


15-1246253417
Rouse_
2009-06-29 09:30
2009.08.30
Я даж не знаю плакать или смеяться. :)


8-1182333180
SunriseGirl
2007-06-20 13:53
2009.08.30
работа с изображениями .bmp


2-1246133770
aligator2008
2009-06-28 00:16
2009.08.30
richedit