Python论坛  - 讨论区

标题:[python-chinese] socket初级问题

2007年03月12日 星期一 15:24

Marco marco在waven.com
星期一 三月 12 15:24:33 HKT 2007

请大家帮我看看这段测试用的代码

[code]
#!/usr/bin/python
import os,sys,time,select
from socket import *

sd = socket(AF_INET, SOCK_STREAM)
sd.connect(('127.0.0.1', 9000))

while True:
    stdin, stdout, stderr = select.select((sd,), (), ())
    print 'received:', sd.recv(1024)
[/code]

服务器段用netcat -l -p 9000暂时代替, 这时在netcat里写什么,程序就会输出什么,但是如果把netcat杀掉,
程序就不停得输出''received:'。

请问这是为什么?

-- 
LinuX Power

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年03月12日 星期一 15:35

Yingbo Qiu qiuyingbo在gmail.com
星期一 三月 12 15:35:28 HKT 2007

select 碰到被关闭的 socket,总是返回可读。

只不过 read 会发现没有数据可读。在这种情况下就要停止对该 socket 的 select

UNIX 环境高级编程里有讲解

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年03月12日 星期一 15:39

Marco marco在waven.com
星期一 三月 12 15:39:47 HKT 2007

好的,我再查查,谢谢!

On 3/12/07, Yingbo Qiu <qiuyingbo在gmail.com> wrote:
> select 碰到被关闭的 socket,总是返回可读。
>
> 只不过 read 会发现没有数据可读。在这种情况下就要停止对该 socket 的 select
>
> UNIX 环境高级编程里有讲解
> _______________________________________________
> 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

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号