码迷,mamicode.com
首页 > 编程语言 > 详细

python io多路复用

时间:2017-04-17 23:52:35      阅读:362      评论:0      收藏:0      [点我收藏+]

标签:bin   try   pre   int   用户   socket   for   多路复用   reset   

            

用for循环执行多用户访问

SEVER

 

import socket
sk1=socket.socket()
sk1.bind((‘127.0.0.1‘,888))
sk1.listen()

import select
ipt=[sk1,]

while True:
    r_list, w_list, e_list = select.select(ipt, [], ipt, 1)
    print(‘正在监听的sk对象 %s‘ % len(ipt))
    print(r_list)
    
    for sk in r_list:
        if sk==sk1:
            # 表示新客户来了
            con,addr=sk.accept()
            ipt.append(con)
        else:
            # 老客户发消息
            try:
                data_bytes=sk.recv(1024)
                data_str=str(data_bytes,encoding=‘utf-8‘)
                sk.sendall(bytes(data_str+‘hao‘,encoding=‘utf-8‘))
            except ConnectionResetError:
                ipt.remove(sk)

 

python io多路复用

标签:bin   try   pre   int   用户   socket   for   多路复用   reset   

原文地址:http://www.cnblogs.com/ezway/p/6725589.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!