使用SocketServer-初识SocketServer

初识SocketServer
socket并不能多并发,只能支持一个用户,而socketserver是一个网络服务器框架,减少开发人员编写网络服务器程序的工作量,比socket更加简单

继承BaseRequestHandler类
使用SocketServer的第一步就是自己创建一个类来继承SocketServer的BaseRequestHandle类,并重写其中处理通信的方法Handle方法,主要的处理通信的是这个Handle的,使用SocketServer与Socket的不同就在SocketServer已经实现了多线程,不用你去设计

#coding:utf-8
import SocketServer
class TestSocet(SocketServer.BaseRequestHandler)		#继承这个类
	def handle(self)	#重写handle的方法
		self.data=self.request.recv(1024)
		print self.data
		self.msg = raw_input('Massage> ')
		self.request.send(self.msg) 

if __name__=='__main__':
	HOST = ''		#定义host,给空相当于本机
	PORT = 6666		#端口
	AddrInfo =(HOST,PORT)
	server = Socketserver.ThreadingTCPServer(AddrInfo,TestSocket)#实例化一个server
	server.serve_forever()		#启动程序

编写Client端
其实Sokcetserver的和普通的Client一样的

from socket import *
c =socket(AF_INET,SOCK_STREAM)
c.connect(('127.0.0.1',9999))
while True:
	msg = raw_input('Message> ')
	c.send(msg)
	data =c.recv(1024)
	print data

客户端就可以多个跟服务端进行通讯

你可能感兴趣的:(python,socketserver,python)