- 7
- 0
- 约7.64千字
- 约 39页
- 2017-03-03 发布于河南
- 举报
5-Select模型
套接字Select模型 问题提出 阻塞模式的套接字执行I/O操作时,如果执行操作的条件没有得到满足,线程就会被阻塞。 在该调用的函数上,程序不得不处于等待状态。该调用函数什么时候返回,不得而知。 非阻塞模式套接字执行I/O操作时,在任何情况下,调用函数都会立即返回。软件开发人员必须编写更多的代码。对该函数返回的错误进行处理,这无疑增加了开发Windows Sockels应用程序的难度。 应用程序中往往需要在一个循环体内反复调用该函数,直到返回成功指示为止,这不是一种很好的做法。 Select模型 当执行操作的套接字满足可读写条件时,给应用程序发送通知,接收到这个通知后,应用程序再去调用相应的Window Sockets API去执行函数调用。 调用select函数检查当前各个套接字的当前状态。并且根据该函数的返回值,判断套接字的可读可写性。然后调用相应的WindowsSockets API完成数据的发送、接收等。 套接字的Select模型,能够使Windows Sockets 应用程序同时对多个套接字进行管理。 select(?)函数 函数格式 int select( int nfds, fd_set FAR* readfds, fd_set FAR* writefds, fd_set FAR* exceptfds, const str
原创力文档

文档评论(0)