select模型各個操作的總結

2021-07-27 08:11:27 字數 620 閱讀 8035

在《unix網路程式設計》中,介紹了select模型可用於將多個阻塞的fd統一進行阻塞,其具體操作,以recv的操作為例總結如下:

fd_set readset;  //fd的集合

fd_zero(&readset); //初始化

while(1)

}int ret=select(0,&readset,null,null,null);

/*有乙個或多個fd接收到了資料,假設是n個,

*這時readset已經發生了變化,僅剩n個fd在集合中

*/for(i=0; iif(fd_isset(pm->confd[i],&readset))

/*判斷有哪n個fd在集合中,這n個fd接收到了資料*/}}

//迴圈,繼續監聽各個accept之後得到的fd

}

總結關鍵步驟:

fd_set(pm->confd[i],&readset);//監聽所有感興趣的連線。

int ret=select(0,&readset,null,null,null);//有n個接受到資料,readset僅剩這n個fd。

fd_isset(pm->confd[i],&readset);//得到這n個連線,並進行recv。

軟體過程及各個模型的總結

1.瀑布模型 瀑布模型的做法很形象,軟體開發過程像瀑布一樣,一層接著一層,完成上層步驟之後,接著開展下一項。前一階段會形成乙個文件,後一階段根據這個文件進行操作。具體的步驟為 只是描述各個模型軟體開發的過程,是精簡版,不看也可 優點 在軟體開發中,由於技術人員沒有深入分析專案需求,而匆忙開發,很容易...

jQuery對select操作總結

取得下拉列表的選取值 testselect option selected text 或 testselect find option selected text 或 testselect val 記性不好的可以收藏下 1,下拉框 稍微解釋一下 1.select name country optio...

jQuery對select操作總結

遍歷option和新增 移除option function changeshipmethod shipping else 取得下拉列表的選取值 testselect option selected text 或 testselect find option selected text 或 tests...