Winsock + несколько сетевых подключений

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Winsock + несколько сетевых подключений

Сообщение v-adix » 06.02.2006 (Пн) 21:38

Привет :)
Ситуация такая: есть компьютер под управлением ОС Windows XP Pro, есть несколько сетевых подключений (диалап/локалка). Возможно ли, и как заставить работать Winsock только с определённым подключением? Тоесть, нужно привязать программу к определённому подключению.
P.S. В качестве винсока использую его аналог - CSocket 1.0.12.

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 07.02.2006 (Вт) 0:20

Код: Выделить всё
CSocket.LocalIP=...
Никогда не откладывай на завтра то, что можно ... отложить на послезавтра!

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Сообщение v-adix » 07.02.2006 (Вт) 9:10

vvs_adm писал(а):
Код: Выделить всё
CSocket.LocalIP=...

Это свойство только для чтения, код выдает ошибку!

В винде есть команда "route add". Можно ли её использовать для моих целей? Можно ли добавишь маршрут программно?

Grey_Brother
Новичок
Новичок
Аватара пользователя
 
Сообщения: 36
Зарегистрирован: 09.02.2006 (Чт) 10:36
Откуда: Санкт-Петербург

Сообщение Grey_Brother » 09.02.2006 (Чт) 11:28

Вообще я слабо знаком с TCP/IP, но имхо каждое подключение имеет свой ip, следовательно юзать надо remoteIP
У меня диалАр в инет и локалка. При диалапе аЙпИ выдается автоматом, ведь фиксированый IP - это отдельно оплачиваемая привелегия =), а в локалке 192.168.0.1, чтобы тачки сети могли пользовать inet... хотя, может я и туплю... :)
С уважением, GB.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 09.02.2006 (Чт) 12:15

Причем тут RemoteIP?
Человеку надо установить соединение, используя произвольный сетевой интерфейс.
Правда зачем это нужно делать приложению, мне не понятно, этим (выбором сетевого интерфейса) должна ОС заниматься.
Если у тебя один и тот же хост достижим разными интерфейсами, то просто выставь на необходимом меньшую метрику. Либо добавь маршрут (route add) с меньшей метрикой.
Lasciate ogni speranza, voi ch'entrate.

JohnK
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 874
Зарегистрирован: 03.08.2002 (Сб) 0:35
Откуда: 48.02` 37.58`

Сообщение JohnK » 09.02.2006 (Чт) 18:42

Можно еще IP адреса проверять - если эта программа сервер, то проверять по маске 192.168.0.*
SELECT * FROM girls WHERE tits NOT NULL AND age BETWEEN 18 AND 25 ORDER BY Beauty

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 09.02.2006 (Чт) 19:12

Суть последнего совета мне не ясна.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 11.02.2006 (Сб) 2:05

alibek писал(а):Причем тут RemoteIP?
Человеку надо установить соединение, используя произвольный сетевой интерфейс.
Правда зачем это нужно делать приложению, мне не понятно, этим (выбором сетевого интерфейса) должна ОС заниматься.
Если у тебя один и тот же хост достижим разными интерфейсами, то просто выставь на необходимом меньшую метрику. Либо добавь маршрут (route add) с меньшей метрикой.

Возражу, что винсок позволяет слушать только на одном каком-то интерфейсе.
Для этого у него есть метод Bind ;-)
Изображение

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Сообщение v-adix » 12.02.2006 (Вс) 17:53

alibek писал(а):Причем тут RemoteIP?
Человеку надо установить соединение, используя произвольный сетевой интерфейс.
Правда зачем это нужно делать приложению, мне не понятно, этим (выбором сетевого интерфейса) должна ОС заниматься.
Если у тебя один и тот же хост достижим разными интерфейсами, то просто выставь на необходимом меньшую метрику. Либо добавь маршрут (route add) с меньшей метрикой.

alibek, большое спасибо за ответ! теперь ясно для чего метрики юзаются.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 12.02.2006 (Вс) 18:54

v-adix, имхо как раз для твоей задачи метрики совершенно не при чём.
Изображение

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 13.02.2006 (Пн) 9:13

tyomitch писал(а):Возражу, что винсок позволяет слушать только на одном каком-то интерфейсе.

Э... Но речь то шла о том, чтобы соединиться :)
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 44

    TopList