URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 2167
[ Назад ]

Исходное сообщение
"connect()"

Отправлено Alex , 08-Окт-03 23:43 
Не подскажет-ли кто-нибудь ,как указать connect()
c какого адреса производить соединение ?
То-есть на сервере несколько адресов а connect()
подставляет первый ,а мне нужен какой-то определённый .
Заранее благодарен за помощь !

Содержание

Сообщения в этом обсуждении
"connect()"
Отправлено SomeB0dy , 09-Окт-03 16:32 
Posle sozdanija socket'a,
sdelaj bind na nuzhnij IP.
Dolzhno pomoch


>Не подскажет-ли кто-нибудь ,как указать connect()
>c какого адреса производить соединение ?
>То-есть на сервере несколько адресов а connect()
>подставляет первый ,а мне нужен какой-то определённый .
>Заранее благодарен за помощь !



"connect()"
Отправлено XMan , 09-Окт-03 19:39 
А поможет ли ?

Ведь по идее всё упирается в таблицу маршрутизации.
То есть, даже если сделать bind на адрес 1.2.3.4, а соединяться 9.8.7.6, до которой можно достучаться через интерфейс с адресом 9.8.7.1, то обратным адресом и будет 9.8.7.1.

Ибо как иначе гарантировать обратную доставку пакетов ? По роутингу той машины они могут отправиться куда угодно.


"connect()"
Отправлено Leningrad , 09-Окт-03 20:14 
хм
учите матчасть

"connect()"
Отправлено XMan , 09-Окт-03 20:51 
man что ? :)

"connect()"
Отправлено Alex , 09-Окт-03 20:30 
>А поможет ли ?
>
>Ведь по идее всё упирается в таблицу маршрутизации.
>То есть, даже если сделать bind на адрес 1.2.3.4, а соединяться 9.8.7.6,
>до которой можно достучаться через интерфейс с адресом 9.8.7.1, то обратным
>адресом и будет 9.8.7.1.
>
>Ибо как иначе гарантировать обратную доставку пакетов ? По роутингу той машины
>они могут отправиться куда угодно.

но ведь мой конкретный случай проще -
у меня виртуальные адреса (ip range)
разумеется в пределах одной сетки


"connect()"
Отправлено Alex , 09-Окт-03 20:25 
>Posle sozdanija socket'a,
>sdelaj bind na nuzhnij IP.
>Dolzhno pomoch

Спасибо ! помогло ,с меня beer :)
а то я уже мучался с SO_BINDTODEVICE