
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
22.07.2014, 20:18
|
|||
|---|---|---|---|
|
|||
Чем в общем случае отличаются неблокирующие сокеты от асинхронных сокетов? |
|||
|
#18+
Чем в общем случае отличаются неблокирующие сокеты от асинхронных сокетов? Только тем, что если мы сначала отправили данные в сокет-1, а затем в сокет-2, то для асинхронных сокетов данные в сеть могут сначала отправиться из сокет-2, а потом из сокет-1; а для неблокирующих обязательно в том же порядке в котором вызывали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.07.2014, 21:38
|
|||
|---|---|---|---|
|
|||
Чем в общем случае отличаются неблокирующие сокеты от асинхронных сокетов? |
|||
|
#18+
При неблокирующих операциях над сокетом операция выполняется успешно только если она не требует блокировки вызывающего потока. Результат при этом сразу возвращается в момент вызова. При асинхронных операциях операция стартует в любом случае, а результат возвращается отдельно когда он будет известен. Никакого отношения к порядку отправки в сеть это все не имеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.07.2014, 21:55
|
|||
|---|---|---|---|
|
|||
Чем в общем случае отличаются неблокирующие сокеты от асинхронных сокетов? |
|||
|
#18+
Anatoly MoskovskyПри неблокирующих операциях над сокетом операция выполняется успешно только если она не требует блокировки вызывающего потока. Результат при этом сразу возвращается в момент вызова. Пожалуйста, а можно пример, какая из операций может потребовать блокировки - и приведет к ошибке, и какая из операция не потребует блокировки и завершится успешно в момент вызова? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.07.2014, 22:02
|
|||
|---|---|---|---|
|
|||
Чем в общем случае отличаются неблокирующие сокеты от асинхронных сокетов? |
|||
|
#18+
асинхронных сокетов, Например чтение из сокета. Если в буфере сокета есть непрочитанные данные, то они будут прочтены, иначе вернется ошибка EWOULDBLOCK (точно не помню текст). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.07.2014, 22:06
|
|||
|---|---|---|---|
|
|||
Чем в общем случае отличаются неблокирующие сокеты от асинхронных сокетов? |
|||
|
#18+
Да в принципе любая операция с сокетом требующая пересылки данных по сети. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.07.2014, 18:21
|
|||
|---|---|---|---|
Чем в общем случае отличаются неблокирующие сокеты от асинхронных сокетов? |
|||
|
#18+
вызов функции с асинхронной операцией возвращает код "ошибки" EWOULDBLOCK (WSAEWOULDBLOCK), но это вовсе НЕ ОШИБКА, а просто код, означающий, что вызванная функция не вернула результат собственно операции ввода/вывода(и не собиралась): реальный результат должен быть получен позже и через другую функцию - select() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.07.2014, 19:58
|
|||
|---|---|---|---|
|
|||
Чем в общем случае отличаются неблокирующие сокеты от асинхронных сокетов? |
|||
|
#18+
й, Все так, только заменить слово "асинхронной" на "неблокирующей". Асинхронность не нуждается в EWOULDBLOCK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.07.2014, 20:03
|
|||
|---|---|---|---|
|
|||
Чем в общем случае отличаются неблокирующие сокеты от асинхронных сокетов? |
|||
|
#18+
йреальный результат должен быть получен позже и через другую функцию - select() Еще одна поправка. select не сообщает о готовности результата. Он сообщает о готовности начать операцию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.07.2014, 12:36
|
|||
|---|---|---|---|
|
|||
Чем в общем случае отличаются неблокирующие сокеты от асинхронных сокетов? |
|||
|
#18+
Anatoly Moskovskyй, Все так, только заменить слово "асинхронной" на "неблокирующей". Асинхронность не нуждается в EWOULDBLOCK А в каких ОС есть реальные асинхронные операции с сокетами? Кстати, и означает ли тогда асинхронность сокетов обязательное использование паттерна проактор: демультиплексирование IOCP (Win/AIX)? А если используется реактор: epoll, pollset, kqueue (Linux, Solaris, AIX, HP_UX) - то это неблокирующие операции? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.07.2014, 16:57
|
|||
|---|---|---|---|
|
|||
Чем в общем случае отличаются неблокирующие сокеты от асинхронных сокетов? |
|||
|
#18+
асинхронных сокетов, Винда точно поддерживает асихронные операции через OVERLAPPED. IOCP это лишь один из способов работать с OVERLAPPED. В Линуксе есть группа функций aio_*. Но не знаю насколько она допилена для сокетов. В любом случае, асинхронность - это высокоуровневая концепция. Она может на низком уровне быть реализована множеством способов - poll и аналоги, пул потоков, или прямая реализация в ОС. Неблокирующие операции это всего лишь один из низкоуровневых технических моментов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.07.2014, 10:22
|
|||
|---|---|---|---|
|
|||
Чем в общем случае отличаются неблокирующие сокеты от асинхронных сокетов? |
|||
|
#18+
Anatoly Moskovskyасинхронных сокетов, Винда точно поддерживает асихронные операции через OVERLAPPED. IOCP это лишь один из способов работать с OVERLAPPED. В Линуксе есть группа функций aio_*. Но не знаю насколько она допилена для сокетов. В любом случае, асинхронность - это высокоуровневая концепция. Она может на низком уровне быть реализована множеством способов - poll и аналоги , пул потоков, или прямая реализация в ОС. Неблокирующие операции это всего лишь один из низкоуровневых технических моментов. Ну т.е. если предоставляемое API реактор - то это синхронная концепция, а если предоставляемое API проактор - то это асинхронная концепция (хотя и 1 и 2 могут быть на нижнем уровне реализованы через poll/select/epoll)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.07.2014, 13:22
|
|||
|---|---|---|---|
|
|||
Чем в общем случае отличаются неблокирующие сокеты от асинхронных сокетов? |
|||
|
#18+
асинхронных сокетовНу т.е. если предоставляемое API реактор - то это синхронная концепция, а если предоставляемое API проактор - то это асинхронная концепция Ну получается что так. Только непонятно что вы от меня хотите нового узнать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.07.2014, 21:04
|
|||
|---|---|---|---|
|
|||
Чем в общем случае отличаются неблокирующие сокеты от асинхронных сокетов? |
|||
|
#18+
Anatoly Moskovskyасинхронных сокетовНу т.е. если предоставляемое API реактор - то это синхронная концепция, а если предоставляемое API проактор - то это асинхронная концепция Ну получается что так. Только непонятно что вы от меня хотите нового узнать :) Просто хотел для себя полностью выстроить логическую цепь, для лучшего понимания :) Спасибо Вам за ответы :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.08.2014, 22:55
|
|||
|---|---|---|---|
|
|||
Чем в общем случае отличаются неблокирующие сокеты от асинхронных сокетов? |
|||
|
#18+
Anatoly Moskovskyасинхронных сокетовНу т.е. если предоставляемое API реактор - то это синхронная концепция, а если предоставляемое API проактор - то это асинхронная концепция Ну получается что так. Только непонятно что вы от меня хотите нового узнать :) А допустим в асинхронной прокаторной библиотеке Boost.Asio есть асинхронные, но блокирующие операции и какие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.08.2014, 03:53
|
|||
|---|---|---|---|
|
|||
Чем в общем случае отличаются неблокирующие сокеты от асинхронных сокетов? |
|||
|
#18+
асинхронных сокетовА допустим в асинхронной прокаторной библиотеке Boost.Asio есть асинхронные, но блокирующие операции и какие? Нету. Есть синхронные и асинхронные. Синхронные - либо блокирующие либо не. А для асинхронных понятие "блокирование" не применимо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.08.2014, 13:32
|
|||
|---|---|---|---|
|
|||
Чем в общем случае отличаются неблокирующие сокеты от асинхронных сокетов? |
|||
|
#18+
Anatoly Moskovskyасинхронных сокетовА допустим в асинхронной прокаторной библиотеке Boost.Asio есть асинхронные, но блокирующие операции и какие? Нету. Есть синхронные и асинхронные. Синхронные - либо блокирующие либо не. А для асинхронных понятие "блокирование" не применимо. А если что-то типа этого? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. А чего-нибудь типа такого? async_read() не выполниться пока не завершиться async_read_block(&handler_b), т.е. пока не запуститься handler_b. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=16&mobile=1&tid=1341267]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
171ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 479ms |

| 0 / 0 |
