Не могу понять чем особенным отличаются для сокетов send() и write(), recv() и read(). Есть ли какие-то принципиальные отличия?
>Не могу понять чем особенным отличаются для сокетов send() и write(), recv()
>и read(). Есть ли какие-то принципиальные отличия?send и recv отличаются только наличием дополнительного аргумента, а в остальном идентичны write и read.
Этот аргумент нужен если надо задать специфические свойства ввода-вывода через сокет.В man send и man recv все описано.
Читал ман, и также понимаю что send и recv для сокетов, а write и read для дескрипторов разного происхождения. Начал дописывать разные старые свои проги и заметел что по настроению использовал как функции из первой пары так и из второй, решил привести все к общему аргументу и задался вопросом - в чем раздница? Чаще всего в send и recv последний аргумент 0, вот если смотреть в этом контексте.
Ещё одним отличием send()/recv() от write()/read(), помимо флагов, является то, что send()/recv() - более переносимые вызовы. Зато write()/read() более универсальные, они могут работатьс пайпами, файлами и т.д., а send()/recv() только с сокетами.