2007年03月12日 星期一 15:24
请大家帮我看看这段测试用的代码 [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
2007年03月12日 星期一 15:35
select 碰到被关闭的 socket,总是返回可读。 只不过 read 会发现没有数据可读。在这种情况下就要停止对该 socket 的 select UNIX 环境高级编程里有讲解
2007年03月12日 星期一 15:39
好的,我再查查,谢谢! 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
Zeuux © 2025
京ICP备05028076号