2007年03月20日 星期二 09:28
大家不用select吗? On 3/19/07, Marco <marco在waven.com> wrote: > 大家不用select吗? > > On 3/16/07, Marco <marco在waven.com> wrote: > > 如题, > > > > 我现在得写个for循环, > 然后根据事先塞在每个fd里的值,判断是哪个fd让select返回,很麻烦,python有没有象C里面的FD_ISSET的函数? > > > > 请教了,谢谢! > > > > > > -- > > LinuX Power > > > > > -- > LinuX Power > -- LinuX Power
2007年03月20日 星期二 13:38
好像收不到信。
2007年03月20日 星期二 13:42
也可能是大家没有发信吧。。。 我也没有收到。。。。 On Tue, 20 Mar 2007 13:38:32 +0800, 刘星 <liuxing在cn.fujitsu.com> wrote: > 好像收不到信。 > _______________________________________________ > python-chinese > Post: send python-chinese在lists.python.cn > Subscribe: send subscribe to python-chinese-request在lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request在lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese
2007年03月20日 星期二 13:44
On 3/20/07, 刘星 <liuxing在cn.fujitsu.com> wrote: > 好像收不到信。 收不到信那就是没信,可以到归档上去看,没必要问来问去。 -- I like python! UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad My Blog: http://www.donews.net/limodou
2007年03月20日 星期二 15:40
python d的select的返回值就告诉你哪个fd返回了 ,没必要FD_ISSET,不知道你是什么意思, 在07-3-20,Marco <marco at waven.com> 写道: > > 大家不用select吗? > > > On 3/19/07, Marco <marco at waven.com> wrote: > > 大家不用select吗? > > > > On 3/16/07, Marco <marco at waven.com> wrote: > > > 如题, > > > > > > 我现在得写个for循环, > > 然后根据事先塞在每个fd里的值,判断是哪个fd让select返回,很麻烦,python有没有象C里面的FD_ISSET的函数? > > > > > > 请教了,谢谢! > > > > > > > > > -- > > > LinuX Power > > > > > > > > > -- > > LinuX Power > > > > > -- > LinuX Power > _______________________________________________ > python-chinese > Post: send python-chinese at lists.python.cn > Subscribe: send subscribe to python-chinese-request at lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese -- devdoer devdoer at gmail.com http://devdoer.blog.sohu.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://python.cn/pipermail/python-chinese/attachments/20070320/559c0fc5/attachment-0001.htm
2007年03月20日 星期二 17:06
比如,我在select里监听了三个socket, 这时有一个或多个socket有数据可用导致select返回了一个list,那在这个list里,我怎么知道哪个socket对哪个呢? 谢谢! On 3/20/07, bird devdoer <devdoer在gmail.com> wrote: > python d的select的返回值就告诉你哪个fd返回了 ,没必要FD_ISSET,不知道你是什么意思, > > 在07-3-20,Marco <marco在waven.com> 写道: > > > > 大家不用select吗? > > > > > > On 3/19/07, Marco <marco在waven.com> wrote: > > > 大家不用select吗? > > > > > > On 3/16/07, Marco <marco在waven.com> wrote: > > > > 如题, > > > > > > > > 我现在得写个for循环, > > > 然后根据事先塞在每个fd里的值,判断是哪个fd让select返回,很麻烦,python有没有象C里面的FD_ISSET的函数? > > > > > > > > 请教了,谢谢! > > > > > > > > > > > > -- > > > > LinuX Power > > > > > > > > > > > > > -- > > > LinuX Power > > > > > > > > > -- > > LinuX Power > > _______________________________________________ > > python-chinese > > Post: send python-chinese在lists.python.cn > > Subscribe: send subscribe to python-chinese-request在lists.python.cn > > Unsubscribe: send unsubscribe to python-chinese-request在lists.python.cn > > Detail Info: http://python.cn/mailman/listinfo/python-chinese > > > > > -- > devdoer > devdoer在gmail.com > http://devdoer.blog.sohu.com/ > -- LinuX Power
2007年03月20日 星期二 17:34
你传进去socket,select就返回socket,并且返回的只有可读,可写的socket,你自己看看python手册吧 在07-3-20,Marco <marco at waven.com> 写道: > > 比如,我在select里监听了三个socket, > 这时有一个或多个socket有数据可用导致select返回了一个list,那在这个list里,我怎么知道哪个socket对哪个呢? > > 谢谢! > > On 3/20/07, bird devdoer <devdoer at gmail.com> wrote: > > python d的select的返回值就告诉你哪个fd返回了 ,没必要FD_ISSET,不知道你是什么意思, > > > > 在07-3-20,Marco <marco at waven.com> 写道: > > > > > > 大家不用select吗? > > > > > > > > > On 3/19/07, Marco <marco at waven.com> wrote: > > > > 大家不用select吗? > > > > > > > > On 3/16/07, Marco <marco at waven.com> wrote: > > > > > 如题, > > > > > > > > > > 我现在得写个for循环, > > > > 然后根据事先塞在每个fd里的值,判断是哪个fd让select返回,很麻烦,python有没有象C里面的FD_ISSET的函数? > > > > > > > > > > 请教了,谢谢! > > > > > > > > > > > > > > > -- > > > > > LinuX Power > > > > > > > > > > > > > > > > > -- > > > > LinuX Power > > > > > > > > > > > > > -- > > > LinuX Power > > > _______________________________________________ > > > python-chinese > > > Post: send python-chinese at lists.python.cn > > > Subscribe: send subscribe to python-chinese-request at lists.python.cn > > > Unsubscribe: send unsubscribe to > python-chinese-request at lists.python.cn > > > Detail Info: http://python.cn/mailman/listinfo/python-chinese > > > > > > > > > > -- > > devdoer > > devdoer at gmail.com > > http://devdoer.blog.sohu.com/ > > > > > -- > LinuX Power > _______________________________________________ > python-chinese > Post: send python-chinese at lists.python.cn > Subscribe: send subscribe to python-chinese-request at lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese -- devdoer devdoer at gmail.com http://devdoer.blog.sohu.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://python.cn/pipermail/python-chinese/attachments/20070320/e227d5e3/attachment.htm
2007年03月20日 星期二 17:39
看一下asyncore.py也可以啊。实用实例! -------------- next part -------------- An HTML attachment was scrubbed... URL: http://python.cn/pipermail/python-chinese/attachments/20070320/a54a01dc/attachment.html
2007年03月20日 星期二 17:42
On 3/20/07, Marco <marco在waven.com> wrote: > 比如,我在select里监听了三个socket, > 这时有一个或多个socket有数据可用导致select返回了一个list,那在这个list里,我怎么知道哪个socket对哪个呢? select的返回值是一个三元tuple,分别对应读、写、异常,因此不需要使用FD_ISSET判断返回值属于哪个集合。 -- Qiangning Hong http://www.douban.com/people/hongqn/
2007年03月20日 星期二 17:51
不好意思,我没有说清楚,我是说同一个等候队列里的不同socket 比如这样: stdin, stdout, stderr = select.select((sd1, sd2, sd3), (), ()) On 3/20/07, Qiangning Hong <hongqn在gmail.com> wrote: > On 3/20/07, Marco <marco在waven.com> wrote: > > 比如,我在select里监听了三个socket, > > 这时有一个或多个socket有数据可用导致select返回了一个list,那在这个list里,我怎么知道哪个socket对哪个呢? > > select的返回值是一个三元tuple,分别对应读、写、异常,因此不需要使用FD_ISSET判断返回值属于哪个集合。 > > -- > Qiangning Hong > http://www.douban.com/people/hongqn/ > _______________________________________________ > python-chinese > Post: send python-chinese在lists.python.cn > Subscribe: send subscribe to python-chinese-request在lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request在lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese -- LinuX Power
2007年03月20日 星期二 18:06
On 3/20/07, Marco <marco在waven.com> wrote: > 不好意思,我没有说清楚,我是说同一个等候队列里的不同socket > 比如这样: > stdin, stdout, stderr = select.select((sd1, sd2, sd3), (), ()) 你是说要从fd找到对应的socket object?那跟FD_ISSET没什么关系了。用dict好了: m = {sd1: sock1, sd2: sock2, sd3: sock3} r,w,e = select.select([sd1, sd2, sd3], [], []) for fd in r: sock = m[fd] use_your_socket_object(sock) -- Qiangning Hong http://www.douban.com/people/hongqn/
2007年03月20日 星期二 18:06
I am guessing what you are doing "那在这个list里,我怎么知道哪个socket对哪个呢?" 什么意思?返回的就是原来的socket对象 在07-3-20,Marco <marco at waven.com> 写道: > > 不好意思,我没有说清楚,我是说同一个等候队列里的不同socket > 比如这样: > stdin, stdout, stderr = select.select((sd1, sd2, sd3), (), ()) > > > On 3/20/07, Qiangning Hong <hongqn at gmail.com> wrote: > > On 3/20/07, Marco <marco at waven.com> wrote: > > > 比如,我在select里监听了三个socket, > > > 这时有一个或多个socket有数据可用导致select返回了一个list,那在这个list里,我怎么知道哪个socket对哪个呢? > > > > select的返回值是一个三元tuple,分别对应读、写、异常,因此不需要使用FD_ISSET判断返回值属于哪个集合。 > > > > -- > > Qiangning Hong > > http://www.douban.com/people/hongqn/ > > _______________________________________________ > > python-chinese > > Post: send python-chinese at lists.python.cn > > Subscribe: send subscribe to python-chinese-request at lists.python.cn > > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > > Detail Info: http://python.cn/mailman/listinfo/python-chinese > > > -- > LinuX Power > _______________________________________________ > python-chinese > Post: send python-chinese at lists.python.cn > Subscribe: send subscribe to python-chinese-request at lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese -- devdoer devdoer at gmail.com http://devdoer.blog.sohu.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://python.cn/pipermail/python-chinese/attachments/20070320/1cbd9e43/attachment.htm
2007年03月20日 星期二 18:11
select 可以直接传socket对象进去也可以传fd,传什么类型返回什么类型。 回答的吐血 在07-3-20,Qiangning Hong <hongqn at gmail.com> 写道: > > On 3/20/07, Marco <marco at waven.com> wrote: > > 不好意思,我没有说清楚,我是说同一个等候队列里的不同socket > > 比如这样: > > stdin, stdout, stderr = select.select((sd1, sd2, sd3), (), ()) > > 你是说要从fd找到对应的socket object?那跟FD_ISSET没什么关系了。用dict好了: > > m = {sd1: sock1, sd2: sock2, sd3: sock3} > r,w,e = select.select([sd1, sd2, sd3], [], []) > for fd in r: > sock = m[fd] > use_your_socket_object(sock) > > -- > Qiangning Hong > http://www.douban.com/people/hongqn/ > _______________________________________________ > python-chinese > Post: send python-chinese at lists.python.cn > Subscribe: send subscribe to python-chinese-request at lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese -- devdoer devdoer at gmail.com http://devdoer.blog.sohu.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://python.cn/pipermail/python-chinese/attachments/20070320/db2e1a08/attachment-0001.html
2007年03月20日 星期二 18:22
On 3/20/07, bird devdoer <devdoer在gmail.com> wrote: > select 可以直接传socket对象进去也可以传fd,传什么类型返回什么类型。 又看了一遍docstring,确实是可以传socket或者file object。 -- Qiangning Hong http://www.douban.com/people/hongqn/
2007年03月20日 星期二 19:14
看来还是C程序员理解C程序员;-) 在python里FD_ISSET 等价于 x in list, 所以改一下就ok, 假设:in_fds, out_fds, err_fds = select.select(ins,ous,[]) 然后映射if (FD_ISSET(fd,∈_fds)) to if fd in in_fds (有没有宏定义啊) 在 2007-03-20二的 17:06 +0800,Marco写道: > 比如,我在select里监听了三个socket, > 这时有一个或多个socket有数据可用导致select返回了一个list,那在这个list里,我怎么知道哪个socket对哪个呢? > > 谢谢! > > On 3/20/07, bird devdoer <devdoer at gmail.com> wrote: > > python d的select的返回值就告诉你哪个fd返回了 ,没必要FD_ISSET,不知道你是什么意思, > > > > 在07-3-20,Marco <marco at waven.com> 写道: > > > > > > 大家不用select吗? > > > > > > > > > On 3/19/07, Marco <marco at waven.com> wrote: > > > > 大家不用select吗? > > > > > > > > On 3/16/07, Marco <marco at waven.com> wrote: > > > > > 如题, > > > > > > > > > > 我现在得写个for循环, > > > > 然后根据事先塞在每个fd里的值,判断是哪个fd让select返回,很麻烦,python有没有象C里面的FD_ISSET的函数? > > > > > > > > > > 请教了,谢谢! > > > > > > > > > > > > > > > -- > > > > > LinuX Power > > > > > > > > > > > > > > > > > -- > > > > LinuX Power > > > > > > > > > > > > > -- > > > LinuX Power > > > _______________________________________________ > > > python-chinese > > > Post: send python-chinese at lists.python.cn > > > Subscribe: send subscribe to python-chinese-request at lists.python.cn > > > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > > > Detail Info: http://python.cn/mailman/listinfo/python-chinese > > > > > > > > > > -- > > devdoer > > devdoer at gmail.com > > http://devdoer.blog.sohu.com/ > > > > > -- > LinuX Power > _______________________________________________ > python-chinese > Post: send python-chinese at lists.python.cn > Subscribe: send subscribe to python-chinese-request at lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese
2007年03月21日 星期三 08:47
晕,是我表达能力有问题吗? 有些同志还是没有明白我的意思啊。呵呵! 用字典是个好注意, 不过我在socket object里插一个attr也是一样。 谢谢大家! On 3/20/07, vcc <vcc在163.com> wrote: > 看来还是C程序员理解C程序员;-) > 在python里FD_ISSET 等价于 x in list, 所以改一下就ok, > 假设:in_fds, out_fds, err_fds = select.select(ins,ous,[]) > 然后映射if (FD_ISSET(fd,∈_fds)) to if fd in in_fds > (有没有宏定义啊) > > 在 2007-03-20二的 17:06 +0800,Marco写道: > > 比如,我在select里监听了三个socket, > > 这时有一个或多个socket有数据可用导致select返回了一个list,那在这个list里,我怎么知道哪个socket对哪个呢? > > > > 谢谢! > > > > On 3/20/07, bird devdoer <devdoer在gmail.com> wrote: > > > python d的select的返回值就告诉你哪个fd返回了 ,没必要FD_ISSET,不知道你是什么意思, > > > > > > 在07-3-20,Marco <marco在waven.com> 写道: > > > > > > > > 大家不用select吗? > > > > > > > > > > > > On 3/19/07, Marco <marco在waven.com> wrote: > > > > > 大家不用select吗? > > > > > > > > > > On 3/16/07, Marco <marco在waven.com> wrote: > > > > > > 如题, > > > > > > > > > > > > 我现在得写个for循环, > > > > > 然后根据事先塞在每个fd里的值,判断是哪个fd让select返回,很麻烦,python有没有象C里面的FD_ISSET的函数? > > > > > > > > > > > > 请教了,谢谢! > > > > > > > > > > > > > > > > > > -- > > > > > > LinuX Power > > > > > > > > > > > > > > > > > > > > > -- > > > > > LinuX Power > > > > > > > > > > > > > > > > > -- > > > > LinuX Power > > > > _______________________________________________ > > > > python-chinese > > > > Post: send python-chinese在lists.python.cn > > > > Subscribe: send subscribe to python-chinese-request在lists.python.cn > > > > Unsubscribe: send unsubscribe to > python-chinese-request在lists.python.cn > > > > Detail Info: http://python.cn/mailman/listinfo/python-chinese > > > > > > > > > > > > > > > -- > > > devdoer > > > devdoer在gmail.com > > > http://devdoer.blog.sohu.com/ > > > > > > > > > -- > > LinuX Power > > _______________________________________________ > > python-chinese > > Post: send python-chinese在lists.python.cn > > Subscribe: send subscribe to python-chinese-request在lists.python.cn > > Unsubscribe: send unsubscribe to python-chinese-request在lists.python.cn > > Detail Info: http://python.cn/mailman/listinfo/python-chinese > > > _______________________________________________ > python-chinese > Post: send python-chinese在lists.python.cn > Subscribe: send subscribe to python-chinese-request在lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request在lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese -- LinuX Power
2007年03月21日 星期三 15:51
你自己说的不清楚,你问"判断是哪个fd让select返回",你自己看看这需要判断么,返回哪个就是哪个fd让select返回? 你的问题根本不是python有没有FD_ISSET的问题 ,而是典型的异步事件模型状态记录的问题,通常都是设置一个状态对象,然后用字典将 描述符映射到状态对象,select返回后,由描述符号查找到状态对象进行更新。 在07-3-21,Marco <marco at waven.com> 写道: > > 晕,是我表达能力有问题吗? 有些同志还是没有明白我的意思啊。呵呵! > > 用字典是个好注意, 不过我在socket object里插一个attr也是一样。 > > 谢谢大家! > > On 3/20/07, vcc <vcc at 163.com> wrote: > > 看来还是C程序员理解C程序员;-) > > 在python里FD_ISSET 等价于 x in list, 所以改一下就ok, > > 假设:in_fds, out_fds, err_fds = select.select(ins,ous,[]) > > 然后映射if (FD_ISSET(fd,∈_fds)) to if fd in in_fds > > (有没有宏定义啊) > > > > 在 2007-03-20二的 17:06 +0800,Marco写道: > > > 比如,我在select里监听了三个socket, > > > 这时有一个或多个socket有数据可用导致select返回了一个list,那在这个list里,我怎么知道哪个socket对哪个呢? > > > > > > 谢谢! > > > > > > On 3/20/07, bird devdoer <devdoer at gmail.com> wrote: > > > > python d的select的返回值就告诉你哪个fd返回了 ,没必要FD_ISSET,不知道你是什么意思, > > > > > > > > 在07-3-20,Marco <marco at waven.com> 写道: > > > > > > > > > > 大家不用select吗? > > > > > > > > > > > > > > > On 3/19/07, Marco <marco at waven.com> wrote: > > > > > > 大家不用select吗? > > > > > > > > > > > > On 3/16/07, Marco <marco at waven.com> wrote: > > > > > > > 如题, > > > > > > > > > > > > > > 我现在得写个for循环, > > > > > > 然后根据事先塞在每个fd里的值,判断是哪个fd让select返回,很麻烦,python有没有象C里面的FD_ISSET的函数? > > > > > > > > > > > > > > 请教了,谢谢! > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > LinuX Power > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > LinuX Power > > > > > > > > > > > > > > > > > > > > > -- > > > > > LinuX Power > > > > > _______________________________________________ > > > > > python-chinese > > > > > Post: send python-chinese at lists.python.cn > > > > > Subscribe: send subscribe to > python-chinese-request at lists.python.cn > > > > > Unsubscribe: send unsubscribe to > > python-chinese-request at lists.python.cn > > > > > Detail Info: http://python.cn/mailman/listinfo/python-chinese > > > > > > > > > > > > > > > > > > > > -- > > > > devdoer > > > > devdoer at gmail.com > > > > http://devdoer.blog.sohu.com/ > > > > > > > > > > > > > -- > > > LinuX Power > > > _______________________________________________ > > > python-chinese > > > Post: send python-chinese at lists.python.cn > > > Subscribe: send subscribe to python-chinese-request at lists.python.cn > > > Unsubscribe: send unsubscribe to > python-chinese-request at lists.python.cn > > > Detail Info: http://python.cn/mailman/listinfo/python-chinese > > > > > > _______________________________________________ > > python-chinese > > Post: send python-chinese at lists.python.cn > > Subscribe: send subscribe to python-chinese-request at lists.python.cn > > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > > Detail Info: http://python.cn/mailman/listinfo/python-chinese > > > -- > LinuX Power > _______________________________________________ > python-chinese > Post: send python-chinese at lists.python.cn > Subscribe: send subscribe to python-chinese-request at lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese -- devdoer devdoer at gmail.com http://devdoer.blog.sohu.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://python.cn/pipermail/python-chinese/attachments/20070321/7831f87d/attachment-0001.htm
Zeuux © 2025
京ICP备05028076号