创建socketserver三步:

1、你必须自己创建一个请求处理类,并且这个类要继承BaseRequestHandler,并且还要重写父类里的handle(),server端和client所有的交互都在handle()里面完成;
2、你必须实例化TCPServer,并且传递Server IP 和你上面创建的请求处理类给这个TCPserver;
3、server.serve_forever()    # 处理多个请求,永远执行

代码饭粒:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Date: 2017/11/29
# server
import socketserver class FoneSocketServer(socketserver.BaseRequestHandler): def handle(self): try: while True: self.data = self.request.recv(1024).strip() print("%s send: " % self.client_address[0]) print(self.data.decode()) self.request.send(self.data.upper()) except ConnectionResetError as e: print("Error: ",e) HOST, PORT = 'localhost', 9999 server = socketserver.ThreadingTCPServer((HOST,PORT),FoneSocketServer) server.serve_forever()

 

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# client

import socket
client = socket.socket()
client.connect(('localhost',9999))
while True:
    msg = input("Please input message:")
    if len(msg) == 0:continue
    client.send(msg.encode('utf-8'))
    data = client.recv(1024)
    if not data:
        print('Server has lost...')
        break
    print('recv:',data.decode())
client.close()

 

 posted on 2017-11-29 22:16  super2feng  阅读(187)  评论(0)    收藏  举报