Передача данных
Когда связь установлена, с помощью различных функций может начаться
процесс передачи данных. При наличии связи, пользователь может посылать и
получать сообщения с помощью функций 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);
Могут быть указаны один или более флагов с помощью ненулевых значений,
таких, как следующие:
MSG_OOB - Посылать/получать данные, характерные для сокетов типа stream.
MSG_PEEK - Просматривать данные без чтения. когда указывается в recv,
любые присутствующие данные возвращаются пользователю, но сами данные
остаются как "непрочитанные". Следующий read или recv вызванный на
данном сокете вернет прочитанные в прошлый раз данные.
MSG_DONTROUTE - посылать данные без маршрутизации пакетов.
(Используется только процессами, управляющими таблицами маршрутизации.)
Содержание Назад Вперед