Erstellt von Sergei Fomin
vor fast 9 Jahre
|
||
Frage | Antworten |
Виды сокетов | IPv4 (TCP, UDP), IPv6, UNIX-сокеты |
Блокирующие и неблокирующие сокеты | Блокирующий сокет не вернёт управление, пока не прочитает ровно столько байт, сколько было указано при вызове функции чтения. Неблокирующий сокет прочитает столько, сколько может на данный момент, и вернёт число прочитанных байт. |
Мультиплексирование. Способы мультиплексирования | Мультиплексирование - обработка срезу многих сокетов. Способы: select, poll, epoll, kqueue. |
Мультиплексирование через select, достоинства и недостатки | Достоинства: гоняем в ядро и обратно всего 1024 бита (128 байт). Недостатки: не может обрабатывать больше 1024 соединений одновременно (и то если все дескрипторы от 0 до 1023). |
Мультиплексирование через poll, достоинства и недостатки | Достоинства: количество обрабатываемых сокетов не ограничено. Недостатки: гоняем много данных в ядро и обратно. |
Мультиплексирование через epoll, достоинства и недостатки | Достоинства: в ядро и обратно гоняем только те сокеты, которые нуждаются в обработке. Недостатки: чуть сложнее в эксплуатации, чем select и poll. |
Мультиплексирование через KQueue, достоинства и недостатки. | Достоинства: одним системным вызовом можем добавлять и удалять сокеты, а также получать те, что нуждаются в обработке. Недостатки: доступен только во FreeBSD. |
Möchten Sie mit GoConqr kostenlos Ihre eigenen Karteikarten erstellen? Mehr erfahren.