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()



Python的SocketServer中的类ThreadingTCPServer/TCPServer/ForkingTCPServer区别

本文主要讲解ThreadingTCPServer/TCPServer/ForkingTCPServer的区别,原理可同样引申到UDP 这三个类其实就是对接收到request请求后的不同处理方法。这里我...
  • qq_23937195
  • qq_23937195
  • 2017年05月02日 21:42
  • 1902

Python使用ThreadingTCPServer创建多线程代理

#coding=utf8 from BaseHTTPServer import BaseHTTPRequestHandler from SocketServer import ThreadingTCP...
  • henni_719
  • henni_719
  • 2017年07月05日 15:19
  • 768

ThreadingTCPServer 如何设置端口重用

一个典型的TCPServer的建立 #ThreadingTCPServer从ThreadingMixIn和TCPServer继承 #class ThreadingTCPServer(...
  • NorthWood
  • NorthWood
  • 2015年06月11日 12:04
  • 1415

python 多线程实现多客户端连接的 TCP Server

python 多线程实现多客户端连接的 TCP Server最近看《python核心编程》,书中实现了一个简单的1对1的TCPserver,但是在实际使用中1对1的形势明显是不行的,所以研究了一下如何...
  • apple9005
  • apple9005
  • 2017年01月23日 20:25
  • 2436

利用Python中SocketServer 实现客户端与服务器间非阻塞通信

利用SocketServer模块来实现网络客户端与服务器并发连接非阻塞socket。 首先,先了解下SocketServer模块中可供使用的类: BaseServer:包含服务器的核心功能与混合(mi...
  • cnmilan
  • cnmilan
  • 2013年07月31日 11:04
  • 28940

Python使用TCPServer编写(多线程)Socket服务

SocketServer包对socket包进行了包装(封装),使得创建socket服务非常简单。 TCPServer+BaseRequestHandler 使用TCPServer和BaseRe...
  • GhostFromHeaven
  • GhostFromHeaven
  • 2013年03月09日 12:03
  • 39393

TCP 客户端 服务端详细代码

转自:http://www.myexception.cn/program/1912019.html TCP网络编程中connect()、listen()和accept()三者之间的关系 基于 ...
  • zhenganzhong_csdn
  • zhenganzhong_csdn
  • 2016年05月31日 20:47
  • 7045

ThreadingTCPServer的简化代码实现

通过socket、threading、select模块,实现简化版本的ThreadingTCPServer的功能 import socket import threading impo...
  • xpxiaopengxp
  • xpxiaopengxp
  • 2017年01月04日 01:27
  • 189

高性能TCPServer

最近两天正在学习TCPServer,在网上看到比较好的两篇文章,z
  • jjp837661103
  • jjp837661103
  • 2014年05月04日 09:24
  • 7230

Python Socket多线程示例

通过SocketServer实现python的socket多线程 客户端: from socket import * HOST = '127.0.0.1' PORT = 9999 BUFSIZ ...
  • tmcdong
  • tmcdong
  • 2013年08月05日 11:28
  • 590
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ThreadingTCPServer的简化代码实现
举报原因:
原因补充:

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