Передача данных
Когда связь установлена, с помощью различных функций может начаться
процесс передачи данных. При наличии связи, пользователь может посылать и
получать сообщения с помощью функций read и write:
write(s, buf, sizeof(buf));
read(s, buf, sizeof(buf));
Вызовы send и recv практически идентичны read и write, за исключением
того, что добавляется аргумент флагов.
send(s, buf, sizeof(buf), flags);
recv(s, buf, sizeof(buf), flags);
Могут быть указаны один или более флагов с помощью ненулевых значений,
таких, как следующие:
любые присутствующие данные возвращаются пользователю, но сами данные
остаются как "непрочитанные". Следующий read или recv вызванный на
данном сокете вернет прочитанные в прошлый раз данные.
(Используется только процессами, управляющими таблицами маршрутизации.)