Пытаюсь создать рав сокет. вылазит ошибка 93 (Protocal not supported). И из под обычного пользователя и из под рута
Сокет создаю так: socket_id = socket(AF_INET, SOCK_RAW, 0);
Может в ядре что-то не хватает? В xconfig по поиску raw вылазит небольшой список, там всё включено. Может какой-нить модуль подключить надо? Подскажите
Проблемы с сокетами.
Модератор: Модераторы разделов
-
spielmann
- Сообщения: 105
- ОС: Linux
Re: Проблемы с сокетами.
socket(PF_PACKET, SOCK_RAW, proto)
man 7 packet
man 7 packet
-
svas
- Сообщения: 203
Re: Проблемы с сокетами.
Возник ещё вопрос по сокетам
Не работает такой код
errno устанавливается в 101 - "Network is unreachble"
помогите, а то уже все маны перерыл, не могу найти ничего
Не работает такой код
Код: Выделить всё
#include <netinet/in.h>
#include <netdb.h>
#include <string.h>
#include <errno.h>
#define HOST "234.0.0.1"
int main()
{
int sock;
struct sockaddr_in hostname;
struct hostent *hostinfo;
sock = socket(AF_INET, SOCK_DGRAM, 0x11);
if (sock == -1)
{
printf("socket error\n");
return -1;
}
memset(&hostname, 0, sizeof(hostname));
hostname.sin_family = AF_INET;
hostinfo = gethostbyname(HOST);
if (hostinfo == NULL)
{
printf("gethostbyname error\n");
return -1;
}
memcpy(&(hostname.sin_addr), hostinfo->h_addr, hostinfo->h_length);
hostname.sin_port = htons(50138);
socklen_t tolen = sizeof(hostname);
char buffer[] = "qweqweqwe";
if (sendto(sock, buffer, 9, 0, (struct sockaddr *)(&hostname), tolen) == -1)
{
printf("Error sendto\nerrno = %d",errno);
return -1;
}
printf("OK\n");
}errno устанавливается в 101 - "Network is unreachble"
помогите, а то уже все маны перерыл, не могу найти ничего