URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 6904
[ Назад ]

Исходное сообщение
"send vs write && recv vs read"

Отправлено Answer , 01-Ноя-07 17:32 
Не могу понять чем особенным отличаются для сокетов send() и write(), recv() и read(). Есть ли какие-то принципиальные отличия?

Содержание

Сообщения в этом обсуждении
"send vs write && recv vs read"
Отправлено ws , 01-Ноя-07 20:48 
>Не могу понять чем особенным отличаются для сокетов send() и write(), recv()
>и read(). Есть ли какие-то принципиальные отличия?

send и recv отличаются только наличием дополнительного аргумента, а в остальном идентичны write и read.
Этот аргумент нужен если надо задать специфические свойства ввода-вывода через сокет.

В man send и man recv все описано.


"send vs write && recv vs read"
Отправлено Answer , 01-Ноя-07 21:55 
Читал ман, и также понимаю что send и recv для сокетов, а write и read для дескрипторов разного происхождения. Начал дописывать разные старые свои проги и заметел что по настроению использовал как функции из первой пары так и из второй, решил привести все к общему аргументу и задался вопросом - в чем раздница? Чаще всего в send и recv последний аргумент 0, вот если смотреть в этом контексте.

"send vs write && recv vs read"
Отправлено Alu , 02-Ноя-07 13:14 
Ещё одним отличием send()/recv() от write()/read(), помимо флагов, является то, что send()/recv() - более переносимые вызовы. Зато write()/read() более универсальные, они могут работатьс пайпами, файлами и т.д., а send()/recv() только с сокетами.