В Linux я могу использовать вызов ioctl
с FIONREAD
, чтобы получить количество байтов для следующего пакета UDP.
Это не работает в OSX, и вместо этого я должен использовать вызов getsockopt
с SO_NREAD
, чтобы определить количество байтов для пакета.
Есть ли способ избежать просмотра или чтения в большой буфер с последующим копированием для достижения того же результата на платформах BSD?