TCP中select函式的理解

2021-07-15 02:25:03 字數 355 閱讀 1698

1、select一般用在非阻塞的通訊中(主要可以設定超時時間);

2、一般服務端可以使用select的模型,如建立socket以後,監聽等待直到有accept,

3、然後可以對所有接入的連線輪訓進行資料報的收發,主要使用如下幾個函式,該方法跟linux下poll或者epoll相似

fd_zero(&set);            //將你的套節字集合清空 

fd_set(nsocket, &set); //加入你感興趣的套節字到集合,這裡是乙個讀資料的套節字s

select()

fd_isset( nsocket, &set )

4、setsockopt主要用於設定一些socket的特性如

select函式中引數nfds的理解

函式原型 include include include int select int nfds,fd set readfds,fd set writefds,fd set exceptfds,struct timeval timeout void fd clr int fd,fd set set ...

select函式中的演算法

先討論與io無關的東西.呼叫select 的流程是 1 將要監聽的檔案描述符 集 a,b,c選入乙個集合s 2 呼叫select,可以設定超時引數 4 函式內部設定s集合中的描述符 3 函式返回,解析s中還有哪些述符 怎樣高效的來實現上述的過程.我們知道檔案描述符是乙個較小遞增不重複的int,根據這...

使用select函式的TCP和UDP回射伺服器程式

include udpservselect01 include unp.h intmain int argc,char argv if fd isset listenfd,rset close connfd parent closes connected socket if fd isset udp...