Unix Stream Socket recv () Возврат меньше данных в буфереLinux

Ответить Пред. темаСлед. тема
Anonymous
 Unix Stream Socket recv () Возврат меньше данных в буфере

Сообщение Anonymous »

Я создаю сокет потока Unix для IPC < /p>

Код: Выделить всё

fd = socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC, 0)
отправитель Отправить 97 байт один раз и без ограничения скорости.

Код: Выделить всё

while (1) {
ret = send(fd, buf, 97, MSG_NOSIGNAL);
}
приемник recv 128k один раз, но спит 1 секунду для каждого получения.

Код: Выделить всё

while (1) {
sleep(1);

ioctl(fd, SIOCINQ, &v);
printf("not read %d bytes\n", v);

ret = recv(cli, buf, 128 * 1024, 0);
printf("rx %d bytes\n", ret);
}
< /code>
отправитель и приемник находятся на одном хосте. Странно происходит.
recv return 22k 
только один раз, намного меньше, чем размер буфера RX по умолчанию 212K

Код: Выделить всё

recv buffer size 212992
send buffer size 212992
not read 212992 bytes
rx 34532 bytes
not read 212992 bytes
rx 26966 bytes
может кто -нибудь объяснить это, не задокументировано ни в одном руководстве Linux.

Подробнее здесь: https://stackoverflow.com/questions/796 ... -in-buffer
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Socket.recv() никогда не возвращает малиновый пико в микропитоне _thread
    Гость » » в форуме Python
    0 Ответы
    24 Просмотры
    Последнее сообщение Гость
  • Как использовать Socket Recv в сочетании с Std :: Vector Post C ++ 23?
    Anonymous » » в форуме C++
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Как использовать Socket Recv в сочетании с std :: vector без стоимости изменения размера в C ++ 23?
    Anonymous » » в форуме C++
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Как использовать Socket Recv в сочетании с std :: vector без стоимости изменения размера в C ++ 23?
    Anonymous » » в форуме C++
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Как использовать Socket Recv в сочетании с std :: vector без стоимости изменения размера в C ++ 23?
    Anonymous » » в форуме C++
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Linux»