Created by Sergei Fomin
almost 9 years ago
|
||
Question | Answer |
Виды сокетов | IPv4 (TCP, UDP), IPv6, UNIX-сокеты |
Блокирующие и неблокирующие сокеты | Блокирующий сокет не вернёт управление, пока не прочитает ровно столько байт, сколько было указано при вызове функции чтения. Неблокирующий сокет прочитает столько, сколько может на данный момент, и вернёт число прочитанных байт. |
Мультиплексирование. Способы мультиплексирования | Мультиплексирование - обработка срезу многих сокетов. Способы: select, poll, epoll, kqueue. |
Мультиплексирование через select, достоинства и недостатки | Достоинства: гоняем в ядро и обратно всего 1024 бита (128 байт). Недостатки: не может обрабатывать больше 1024 соединений одновременно (и то если все дескрипторы от 0 до 1023). |
Мультиплексирование через poll, достоинства и недостатки | Достоинства: количество обрабатываемых сокетов не ограничено. Недостатки: гоняем много данных в ядро и обратно. |
Мультиплексирование через epoll, достоинства и недостатки | Достоинства: в ядро и обратно гоняем только те сокеты, которые нуждаются в обработке. Недостатки: чуть сложнее в эксплуатации, чем select и poll. |
Мультиплексирование через KQueue, достоинства и недостатки. | Достоинства: одним системным вызовом можем добавлять и удалять сокеты, а также получать те, что нуждаются в обработке. Недостатки: доступен только во FreeBSD. |
Want to create your own Flashcards for free with GoConqr? Learn more.