Есть ли способ получить несколько сообщений за один системный вызов, используя SctpStream? - PullRequest
0 голосов
/ 20 ноября 2018

Я хочу получать несколько сообщений от SctpStream за один системный вызов.Моя цель - узнать количество байтов, полученных каждый раз, когда я выполняю вызов приема.

Функция сокета Linux recvmmsg возвращает несколько сообщений:

int recvmmsg(int sockfd, struct mmsghdr *msgvec, unsigned int vlen,
                unsigned int flags, struct timespec *timeout);
DESCRIPTION         
The recvmmsg() system call is an extension of recvmsg(2) that allows
the caller to receive multiple messages from a socket using a single
system call. ...

Я попытался прочитать буфер сокетано он всегда возвращает 0 байтов.Означает ли это, что EOF был достигнут?Я попытался отправить различное количество пакетов, и буфер также очень большой.Тем не менее, я всегда получаю 0 в качестве числа возвращаемых байтовЯ получаю пакеты;передача здесь не проблема.

...