網路IO模型_01
阿新 • • 發佈:2021-10-07
4種情況:
1、輸入操作:等待資料到達套接字接收緩衝區;
2、輸出操作:等待套接字傳送緩衝區有足夠的空間容納將要傳送的資料;
3、伺服器接收連線請求:等待新的客戶端連線請求的到來;
4、客戶端傳送連線請求:等待伺服器回送客戶端的發起的SYN所對應的ACK。
5種網路IO模型:
·阻塞IO:等待完成
·非阻塞IO:不定時來詢問
·IO複用:複用通道,根據請求來完成
·非同步IO:多搞幾個請求
·訊號驅動IO:通過訊號來通知是否可以
IO複用中的select和poll、epoll?
答:就是判斷哪個請求是可以相應的。
select和epoll的區別?
答:select僅知道有I/O事件發生,並不知道是哪個流,所以只能無差別輪詢。O(n)
epoll會把哪個流發生了什麼樣的I/O給搞明白。O(n)
poll本質上可select差不多,但是基於連結串列的,所以沒啥最大連結數限制。