ThreadingTCPServer的简化代码实现

来源:互联网 发布:示剑网络马大伟 编辑:程序博客网 时间:2024/05/19 04:52

通过socket、threading、select模块,实现简化版本的ThreadingTCPServer的功能

wKioL1aP5aCzKQNZAApDnCMq63M315.jpg

import socket   import threadingimport selectdef process(request, client_address):print request,client_addressconn = requestconn.sendall('欢迎致电 10086,请输入1xxx,0转人工服务.')flag = Truewhile flag:data = conn.recv(1024)if data == 'exit':flag = Falseelif data == '0':conn.sendall('通过可能会被录音.balabala一大推')else:conn.sendall('请重新输入.')sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM)sk.bind(('127.0.0.1',8002))sk.listen(5)while True:r, w, e = select.select([sk,],[],[],1)if sk in r:print 'get request'request, client_address = sk.accept()t = threading.Thread(target=process, args=(request, client_address))t.daemon = Falset.start()sk.close()


0 0
原创粉丝点击