Как говорит Евгений Ш / WeatherVane, чтобы увидеть ошибку:
#include <errno.h>
#include <stdio.h>
#include <string.h>
...
fd = socket(AF_INET, SOCK_SEQPACKET, IPPROTO_SCTP);
if (fd == -1) {
printf("error cannot create socket, errno = %d : %s\n",
errno, strerror(errno));
...return/exit etc
}
...
Я ошибаюсь или домен должен быть PF_INET
, тогда socket(AF_INET, SOCK_SEQPACKET, IPPROTO_SCTP);
должен быть socket(PF_INET, SOCK_SEQPACKET, IPPROTO_SCTP);
?
sctp(7) - Linux man page
Редактировать: под raspbian (Linux raspberrypi 4.14.79) я могу сделать оба
Ошибка также возникает, есливы запускаете как root ?Особенно, если вы используете Android (см. , что может вызвать ошибку «Отказано в доступе» сокета ()? )