Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.91
another
0 / 0 / 0
Регистрация: 22.12.2010
Сообщений: 37
#1

Проблемы с sendto и setsockopt - C++

09.11.2006, 23:10. Просмотров 2798. Ответов 0
Метки нет (Все метки)

Доброе время суток!
Мне необходимо в IP заголовке задать TTL.
Для этого я говорю винде, что ip заголовок буду определять сам, с помощью функции:
C++
1
2
int option=1;
setsockopt (s, IPPROTO_IP, IP_HDRINCL, (char*)&option, sizeof(option));
Далее устанавливаю значения в заголовок IP, в том числе и ТТL.
Копирую в буфер IP заголовок+информацию которую передаю, и отправляю пакет:
C++
1
ret = sendto (s, buf, sizeof(buf), 0, (SOCKADDR *)&sin, sizeof (sin)); // SOKADDR_IN sin;
При отправлении пакета, получаю ошибку 10004. Никак не могу понять в чём дело. Если коментарю setsockopt тут всё работает, но это естественно, так как ip заголовок теперь определяет винда.

В чём может быть проблема? Или может как нибудь можно установить TTL другим способом? (например если установить TTL через
C++
1
setsockopt (s, IPPROTO_IP, IP_TTL, (char*)&option, sizeof(option));
, где option=128; тоже не работает)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2006, 23:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проблемы с sendto и setsockopt (C++):

Socket sendto - C++
Посылаю пакет используя sendto (UDP) Как определить что пакет успешно отправлен (с компа)? Проблема в том, что не выдается ошибок при...

Посылка файла через sendto(...) - C++
Через протокол UDP. Нужно открывать файл для чтения и указатель на него передавать в sendto?

Для чего SO_REUSEADDR в setsockopt? - C++
я так понял, что это нужно, если вызываешь bind для определенного сетевого интерфейса(типа 192.168.1.5). Вот я выставил определенный, но...

Работа с UDP, таймаут для setsockopt - C++
Доброго времни суток. Пользуюсь Windows 8.1, Visual Studio 2013, C++. Пытаюсь использовать setsockopt для установки таймаута у recvfrom, в...

Ошибка при работе вызова setsockopt - Assembler
При создании udp socketa для multicast необходим вызов функции setsockopt(sockfd, IPPROTO_IP, IP_ADD_SOURCE_MEMBERSHIP, (char *)&group_src,...

Ошибка sendto() 10047 - C++
Ошибка 10047, как пофиксить ? Сокет в порядке , &sockaddr тоже. void netSend(const char* data, SOCKADDR_IN* addr) { ...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.11.2006, 23:10
Привет! Вот еще темы с ответами:

Сокеты, sendto() - не отсылается датаграмма - C Linux
Доброе время суток! Есть программа-сервер, которая отсылает введенную с клавиатуры строчку в программу-клиент, на мой взгляд написано все...

шлюзе с freeBSD ping: sendto: Operation not permitted - FreeBSD
Возможно у кого была похожая проблема: Есть сервер на freeBSD, который работает как шлюз в интернет для примерно 200 человек(сеть...

Редактирование меню windows xp sendto, низпадающий список в нем - Администрирование Windows
Чтобы мои пользователи через контекстное меню виндовое отправить sendto могли отправлять друг другу по пути обмен\название отдела\фио ...

Проблемы с инетом, не отправляется почта, проблемы со связью с другой организацией - Сети
Здравствуйте. Есть проблемка. Такая ситуация - Организация. Компьютеры подключены по локалке. Находятся в домене. Интернет есть, но! не...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru