关于select()

来源:互联网 发布:小蜜蜂淘宝客助手 编辑:程序博客网 时间:2024/06/11 20:39
最近看ace时,老发现reactor框架有点迷惑,底层是select的所以就又 看了下
server:
while(1) {
    select(..);
    while(1) {
        do sth;
    }
}

client:
不断开connect 连接server

结果是
第一次连接成功之后,进入死循环
第二次连接以及后来的也都成功,发送数据都成功(当然select不会调用具体的处理逻辑了。。。,死循环吗!)
经再三考虑,可能是 select 类似信号样的,监测指定的io句柄,所以第二次以及后来的连接请求等才可以被接受。
看到c++网络编程1上如是说: 在事件驱动型网络应用程序中,可以运用select,确定i/o操作在那些句柄上同步调用,但不会阻塞那些引发这些调用的应用程序线程。。。
应该也差不多吧。。。
如有偏差,等我以后领悟了再来修改。。。:-<
原创粉丝点击