2005年08月19日 星期五 21:57
在 05-8-19,sunyong<sunqingmingzhi at 163.com> 写道: > import select > """ > 文件名:myserver.py > 使用NIO技术建立一个面向多个Client的服务器 > 作者:孙永 > 日期:2005-08-18 > 测试方法: > 1 运行该程序 > 2 telnet localhost 2046(可以执行多个telnet) > 3 如果要终止服务,使用ctrl+C > 这是我昨天晚上学习的结果,呵呵 > """ > > s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) > s.bind(("localhost", 2046)) > s.listen(1) > ls=[s] > le=[] > try: > while(1): > #使用select方法监听socket事件 > ft=select.select(ls,[],le) > for fd in ft[0]: > if (s == fd): > #如果是accept事件 > stemp,addr=s.accept() > ls.append(stemp) > print addr,"has been connected" > else: > #如果是read事件 > data=fd.recv(1024) > if data=="q" or data=="": > #接收到q断开连接 > ls.remove(fd) > fd.close() > continue > print "data=",data > finally: > s.close() > 为什么叫NIO呢?我好象只在Java中看到这个东西。select并不是一个新东西,在unix很早就有了。 -- I like python! My Donews Blog: http://www.donews.net/limodou
Zeuux © 2025
京ICP备05028076号