ThreadingTCPServer的简化代码实现

转载 2017年01月04日 01:27:24

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

wKioL1aP5aCzKQNZAApDnCMq63M315.jpg

import socket   
import threading
import select

def process(request, client_address):

	print request,client_address
	conn = request
	conn.sendall('欢迎致电 10086,请输入1xxx,0转人工服务.')
	flag = True
	while flag:
		data = conn.recv(1024)
		if data == 'exit':
			flag = False
		elif 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 = False
		t.start()
sk.close()



举报

相关文章推荐

Catalan数的应用与代码实现

ACM中出现的Catalan数与大数结合使用 http://acm.hdu.edu.cn/showproblem.php?pid=1023 Problem Description ...

代码实现Autolayout

一、约束规则 在创建约束之后,需要将其添加到作用的view上 在添加时要注意目标view需要遵循以下规则: 1)对于两个同层级view之间的约束关系,添加到它们的父view上2)对于两个不同层级vie...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

代码整洁之道总结(二)

一、对象和数据结构 1、对象和数据结构之间的二分原理 过程式代码(使用数据结构的代码)便于在不改动既有数据结构的前提下添加新函数,面向对象便于在于不改动既有函数的前提下添加新类。所以,面...

Stack(last in first out) and Exception

1、 T& top(); const T& top() const; 数据结构讲到栈的实现函数其中public函数中有T const& top (void)const {return da...

实现代码——WebView案例

实现代码——WebView案例

简单百度地图的定位开发

import com.baidu.location.BDLocation; import com.baidu.location.BDLocationListener; import com.bai...

栈的顺序存储的实现代码

通过分配固定大小的堆内存,实现了栈的顺序存储功能。仅供探究。具体代码如下: 源码分为三个文件,分别为SeqStack.h SeqStack.c main.c #ifndef SEQSTACK_H ...

JS解析XML的实现代码

JS代码:  复制代码代码如下:   //需要读取的xml文件  var uRl = "jsReadXml.xml";  var xmlDoc;  //初始化,给上述定义变量赋...

PHP实现下载功能的代码

PHP实现下载功能的代码,并实现安全下载,隐藏文件真实地址等,需要的朋友可以参考下 php escapeshellcmd多字节编码漏洞  ·详细讲解PHP中缓存技术的应用  ·利用PHP V...

59.strong weak,block,aotoresizing代码实现

1.strong和weak 1.1> 在OC中没有强指针指向的对象就会销毁,所有对象被创建的时候默认是强指针。 比如: int main(int argc, const char * argv[]) ...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)