The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Aio_write или O_NONBLOCK для сокета в FreeBSD?"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"Aio_write или O_NONBLOCK для сокета в FreeBSD?"  +/
Сообщение от ptr email(ok) on 20-Дек-09, 01:30 
Хочется обслужвать несколько TCP (SOCK_STREAM) соединений в одном процессе/нити под FreeBSD. Со чтением все понятно - если O_NONBLOCK, то всегда буду читать из буфера и ничего во время read() ждать не буду. А вот с записью не понял. В случае O_NONBLOCK, write мне вернет управление сразу или же возможен вариант, что я буду ждать, пока от удаленного хоста ACK не прибежит?

Насколько я знаю, для Linux aio_write для socket асинхронно работать не будет. А как для BSD?

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Aio_write или O_NONBLOCK для сокета в FreeBSD?"  +/
Сообщение от аноним on 20-Дек-09, 07:50 
П-ц. Это asynchronous i/o не будет работать асинхронно? Подумайте хоть чуть-чуть, прежде чем такое спросить.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Aio_write или O_NONBLOCK для сокета в FreeBSD?"  +/
Сообщение от ptr email(ok) on 20-Дек-09, 12:14 
>П-ц. Это asynchronous i/o не будет работать асинхронно? Подумайте хоть чуть-чуть, прежде
>чем такое спросить.

Я же не от балды написал:
http://lse.sourceforge.net/io/aio.html

Цитирую:
AIO read and write on sockets (doesn't return an explicit error, but quietly defaults to synchronous or rather non-AIO behavior)


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Aio_write или O_NONBLOCK для сокета в FreeBSD?"  +/
Сообщение от аноним on 20-Дек-09, 21:41 
>Цитирую:
>AIO read and write on sockets (doesn't return an explicit error, but
>quietly defaults to synchronous or rather non-AIO behavior)

Мда, Linux is so broken... Во FreeBSD ничего подобного, разумеется, нет.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Aio_write или O_NONBLOCK для сокета в FreeBSD?"  +/
Сообщение от parad (ok) on 21-Дек-09, 08:28 
ни в линуксе ни во фре на неблокируемых сокетах ждать АКА не надо - это и есть отличие блокируемых от неблакируемых.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Aio_write или O_NONBLOCK для сокета в FreeBSD?"  +/
Сообщение от ptr email(ok) on 21-Дек-09, 08:43 
>ни в линуксе ни во фре на неблокируемых сокетах ждать АКА не
>надо - это и есть отличие блокируемых от неблакируемых.

Спасибо! Это ответ по сути. Следовательно, для сокетов смысла в aio_* функциях просто нет.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру