使用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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值