Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
 Аватар для body90
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
.NET 3.x

Как заставить Socket работать и с IPv4, и с IPv6?

19.07.2015, 06:09. Показов 2620. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе время суток!
Подскажите, как заставить Socket работать с обеими вариантами IP одновременно?
Проблема в том, что приходят адреса и из того семейства, и из того и мне приходится частенько ловить исключения из-за IPv6. Код довольно стандартный:
C#
1
2
3
                            IPHostEntry myIPHostEntry = Dns.GetHostEntry(host);
                            IPEndPoint myIPEndPoint = new IPEndPoint(myIPHostEntry.AddressList[0], port);
                            Socket reroutingSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
Семейство адресов задаётся в самом конструкторе и в перечислении нет варианта, который включал бы оба вида.
Благодарю за внимание!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.07.2015, 06:09
Ответы с готовыми решениями:

Name BitXor is not declared как заставить работать
для логической операции Bitxor какой namespace нужен или как заставить работать?

Разные проекты в одном solution - как заставить работать?
Есть основной проект - Windows Application(C#) и ещё один - Console Application(C). Нужно использовать функции из консольного проекта в...

Как заставить работать .exe без инсталляции .NET Framework?
Не так давно перешел на VB.NET, заканчиваю вот свою первую прогу на нем. Босс требует предоставить ему готовый релиз - а с этим есть...

4
 Аватар для m0nax
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
19.07.2015, 16:58
это ведь два разных адреса, значит и сокета надо два создавать
1
 Аватар для body90
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
22.07.2015, 03:16  [ТС]
Приложение у меня будет в цикле создавать сокеты и отдавать их в новый поток. Но в списке есть и то, и то семейство адресов... Чем мне хоть проверять к какому семейству относится конкретный IP, чтоб потом в условии вызывать конструкторы с разными параметрами?
0
 Аватар для m0nax
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
22.07.2015, 10:32
Цитата Сообщение от body90 Посмотреть сообщение
Чем мне хоть проверять к какому семейству относится конкретный IP, чтоб потом в условии вызывать конструкторы с разными параметрами?
толи у IPAddres, толи у IPEndPoint где-то было свойство с семейством, прям так и есть типа AddressFamily
1
 Аватар для body90
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
23.07.2015, 03:43  [ТС]
Цитата Сообщение от m0nax Посмотреть сообщение
толи у IPAddres, толи у IPEndPoint где-то было свойство с семейством, прям так и есть типа AddressFamily
И у того, и у того нашлось. Спасибо!

Добавлено через 2 минуты
Сделал так:
C#
1
2
3
IPHostEntry myIPHostEntry = Dns.GetHostEntry(host);
IPEndPoint myIPEndPoint = new IPEndPoint(myIPHostEntry.AddressList[0], port);
Socket reroutingSocket = new Socket(myIPEndPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
Именно то, чего хотел. Ибо считал не совсем правильным IFами проверять семейство и вызывать в них разные конструкторы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.07.2015, 03:43
Помогаю со студенческими работами здесь

Как заставить чат работать через Интернет, а не только в локальной сети
Вот есть чатик но он работает только по Локальной сети вот код: static void Main() { Application.Run(new Form1()); ...

Access, Bitmap, PictureBox. Как заставить работать?
Есть "тестовый полигон": форма, на ней pictureBox и button. База сделанная в Access 2013 в ней одна таблица "картинки", в которой...

Как заставить работать поиск под Win2000?
Под Win98 в DropDown меню, построенное на основе тега SELECT, можно делать быстрый поиск по первой букве, а вот под Win2000 это не...

Как заставить работать функцию JavaScript в GridView?
Добрый день Подскажите пожалуйста Я имею функцию javascrit . Я хочу чтобы эта функция срабатывала когда пользователь нажимает на кнопку...

Как можно заставить работать переменную Session?
Как можно заставить работать переменную Session? Мне нужно что бы за каждым посетителем, который заполняет формы на разных страницах...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru