由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 问个socket编程中select()的问题。
相关主题
select的timeout怎么不work一个socket中select函数的问题
multithread: how to lock a thread急:问一个SQL的题目
再问一个free()的问题linux select(): can file descriptors be dynamtic ?
A question about singleton[合集] 问个土问题 printf, 别Peng
请教一道c/c++题问个c++问题
printf("%s\n", NULL)的结果再问个fork的题 (转载)
请教一道题 (转载)问个mpi的问题
c的问题问个简单的c程序
相关话题的讨论汇总
话题: select话题: readfds话题: null话题: fd话题: stdin
进入Programming版参与讨论
1 (共1页)
k********r
发帖数: 18
1
1。请问用select()的话是不是就block在select()这个函数?
2. 按我的理解, 一般可以把select()放在一个while(1)loop里这样就可以一直监听了。
即:每有一个事件就执行一下然后返回到select()停在那里。 但请看这段程序:
。。。
FD_ZERO(&readfds);
FD_SET(STDIN, &readfds);
while(1){
printf("before select\n");
select(STDIN+1, &readfds, NULL, NULL, NULL);
printf("after select\n");
if (FD_ISSET(STDIN, &readfds))
printf("A key was pressed!\n");
}
printf("Timed out.\n");
......
我一按键,程序就不停地执行:
after select
A key was pressed!
before select
a
t****t
发帖数: 6806
2
select完了你不把数据拿走,当然下一次还是有啊!拿脚趾头想也知道啊。。。

了。

【在 k********r 的大作中提到】
: 1。请问用select()的话是不是就block在select()这个函数?
: 2. 按我的理解, 一般可以把select()放在一个while(1)loop里这样就可以一直监听了。
: 即:每有一个事件就执行一下然后返回到select()停在那里。 但请看这段程序:
: 。。。
: FD_ZERO(&readfds);
: FD_SET(STDIN, &readfds);
: while(1){
: printf("before select\n");
: select(STDIN+1, &readfds, NULL, NULL, NULL);
: printf("after select\n");

k********r
发帖数: 18
3
又被耻笑了。
不过理清了一个概念。谢谢你。

【在 t****t 的大作中提到】
: select完了你不把数据拿走,当然下一次还是有啊!拿脚趾头想也知道啊。。。
:
: 了。

1 (共1页)
进入Programming版参与讨论
相关主题
问个简单的c程序请教一道c/c++题
问个指针array 的简单问题printf("%s\n", NULL)的结果
问个时钟的问题请教一道题 (转载)
问个GSL的问题c的问题
select的timeout怎么不work一个socket中select函数的问题
multithread: how to lock a thread急:问一个SQL的题目
再问一个free()的问题linux select(): can file descriptors be dynamtic ?
A question about singleton[合集] 问个土问题 printf, 别Peng
相关话题的讨论汇总
话题: select话题: readfds话题: null话题: fd话题: stdin