初识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
客户端就可以多个跟服务端进行通讯