socketserver 服务端,实现并发

xiaoxiao2021-02-28  48

serve.py

#!/usr/bin/python # -*- coding:utf-8 -*- """ @author: ‘FMspider‘ @time: 2018-5-2 7:46 @function: 服务端,实现并发 """ import socketserver class MyServer(socketserver.BaseRequestHandler): def handle(self): conn = self.request print(self.client_address) while True: client_data = conn.recv(1024) print(str(client_data,'utf8')) print('waiting...') inp = input('>>>') data = bytes(inp,'utf8') conn.sendall(data) conn.close() if __name__ == '__main__': server = socketserver.ThreadingTCPServer(('127.0.0.1',8000), MyServer) server.serve_forever()

client.py

#!/usr/bin/python # -*- coding:utf-8 -*- """ @author: ‘FMspider‘ @time: 2018-5-2 7:46 @function: 客户端 """ import socket # 创建实例 sk = socket.socket() # 绑定要连接的服务端地址 address = ('127.0.0.1', 8000) sk.connect(address) while 1: #输入并发送数据 inp = input('>>>') if inp == 'q': # 退出条件判断 break sk.send(bytes(inp, 'utf8')) # 一发 #接收数据并打印 data = sk.recv(1024) # 一收 print(str(data,'utf8')) sk.close() # 关闭接连

########################################################################################

GIL问题

# !/usr/bin/python # -*- coding:utf-8 -*- # ++++++++++++++++++++ # author: FMspider # time: 2018-5-2 22:24 # function: import threading import time begin = time.time() def add(n): sum = 0 for i in range(n): sum += i print(sum) add(30000000) add(50000000) # t1 = threading.Thread(target=add, args=(30000000,)) # t2 = threading.Thread(target=add, args=(50000000,)) # # t1.start() # t2.start() # # t1.join() # t2.join() end = time.time() print(end - begin)

转载请注明原文地址: https://www.6miu.com/read-2632493.html

最新回复(0)