Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.51/47: Рейтинг темы: голосов - 47, средняя оценка - 4.51
0 / 0 / 0
Регистрация: 06.01.2017
Сообщений: 29

Ошибка с сокетами: "Адрес несовместим с выбранным протоколом"

17.04.2017, 17:38. Показов 8681. Ответов 1

Студворк — интернет-сервис помощи студентам
У меня проблема случилась. Во время выполнения кода клиента выдаёт ошибку "Адрес несовместим с выбранным протоколом".
Вот код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;
using System.Threading.Tasks;
 
namespace Пульт
{
    class Program
    {
        static void Main(string[] args)
        {
            IPHostEntry ipHost = Dns.GetHostEntry("localhost");
            IPAddress[] ipAddr = ipHost.AddressList;
            IPEndPoint ipEndPoint = new IPEndPoint(ipAddr[0], 13370);
            Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); //Создаем основной сокет
 
            ipAddr = Dns.GetHostEntry("localhost").AddressList;
            ipEndPoint = new IPEndPoint(ipAddr[0], 5300); //"localhost" = 127.0.0.1
            s.Connect(ipEndPoint); //Коннектимся к срверу
            byte[] msg = Encoding.ASCII.GetBytes("Hello");
            s.Send(msg);
            s.Close();
        }
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.04.2017, 17:38
Ответы с готовыми решениями:

System.Net.Sockets.SocketException: "Адрес несовместим с выбранным протоколом"
Доброго времени суток. Испытываю проблему с задачей. По условию задания нужно разработать программу, реализующую функции обмена сообщениями...

UDPClient.Connect для IPv6 Teredo и ошибка "Адрес не совместим с выбранным протоколом"
Данный код выдает ошибку на 6 строчке, говоря мне что "Адрес не совместим с выбранным протоколом". Для обучения использовал статью с...

Почему не могу кинуть файлик по Blue Tooth? Всё обнаруживает. Но при попытке передачи пишет "Адрес несовместим с выбранным протоколом."
Почему не могу кинуть файлик по Blue Tooth? Всё обнаруживает. Но при попытке передачи пишет "Адрес несовместим с выбранным...

1
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18286 / 14209 / 5368
Регистрация: 17.03.2014
Сообщений: 28,889
Записей в блоге: 1
18.04.2017, 16:01
arsuhinars, скорее всего первый адрес в списке это IPv6 адрес localhost - ::1 - и он вступает в конфликт с AddressFamily.InterNetwork который подразумевает IPv4. Если ты собираешься подключаться к localhost по IPv4, то нет никакой необходимости обращаться к DNS. Можно использовать свойство IPAddress.Loopback
C#
1
2
3
4
5
6
IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Loopback, 5300);
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
s.Connect(ipEndPoint);
byte[] msg = Encoding.ASCII.GetBytes("Hello");
s.Send(msg);
s.Close();
Если в будущем планируется подключаться не только к localhost, то делаем так
C#
1
2
3
4
5
6
7
8
9
IPAddress ipAddr = Dns.GetHostEntry("someHost").AddressList[0];
IPEndPoint ipEndPoint = new IPEndPoint(ipAddr, 5300);
Socket s = new Socket(
    ipAddr.AddressFamily, // Обрати внимание что мы используем AddressFamily взятый из адреса
    SocketType.Stream, ProtocolType.Tcp);
s.Connect(ipEndPoint);
byte[] msg = Encoding.ASCII.GetBytes("Hello");
s.Send(msg);
s.Close();
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.04.2017, 16:01
Помогаю со студенческими работами здесь

Работа с протоколом UDP. "Требуемый адрес для своего контекста неверен"
Доброго времени суток! Пишу простую программу переписки. Для того, чтобы понять, как работать с протоколом UDP решил написать...

Ошибка при работе с РОР3-протоколом
Всем аллоха! У меня возникает проблема, при работе с протоколом POP3. А именно, при неправильных логине и пароле. Что я делаю, я...

Сайты с протоколом https и ошибка сертификата безопасности
Добрый день! Проблема такая. Установлена Vista home basic для старого сканера. И восьмерка с десяткой. На 8 и 10 все нормально.проблема...

Ошибка работы с сокетами
Есть массив размером 120 тысяч из структур по 8 байт. И я пытаюсь передать его из клиента на сервер int sz=sizeof(points);//points...

Ошибка с сокетами 10053
Недавно начал изучать сокеты, друг мне подсказал в виде практики сделать простенький эхо-сервер. И тут я столкнулся с первой же проблемой:...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru