zoukankan      html  css  js  c++  java
  • 并发实例

    并发服务端:

     1 import pickle
     2 import hashlib
     3 import socketserver
     4 class Myserver(socketserver.BaseRequestHandler):
     5     def handle(self):
     6 
     7         while 1:
     8             content_long=self.request.recv(4)
     9             pickle_content=self.request.recv(1024)
    10             pickle_loads_content=pickle.loads(pickle_content)
    11             # {'work': 'as', 'file': 'a.txt', 'long': 17}
    12             # print(pickle_loads_content)
    13             self.request.send(b'ok')
    14             sended=0
    15             s=b''
    16             total_long=pickle_loads_content['long']
    17             md5=hashlib.md5()
    18             i=0
    19             while sended<int(pickle_loads_content['long']):
    20                 i+=1
    21                 # print(i)
    22                 data=self.request.recv(1024)
    23                 md5.update(data)
    24                 s+=data
    25                 sended+=len(data)+1
    26                 # print(sended)
    27             self.request.send(md5.hexdigest().encode('utf-8'))
    28             break
    29 server=socketserver.ThreadingTCPServer(('192.168.13.137', 8027),Myserver)
    30 # 创建套接字对象
    31 # bind
    32 # listen
    33 server.serve_forever()

    并发客户端

     1 import pickle
     2 import hashlib
     3 import socketserver
     4 class Myserver(socketserver.BaseRequestHandler):
     5     def handle(self):
     6 
     7         while 1:
     8             content_long=self.request.recv(4)
     9             pickle_content=self.request.recv(1024)
    10             pickle_loads_content=pickle.loads(pickle_content)
    11             # {'work': 'as', 'file': 'a.txt', 'long': 17}
    12             # print(pickle_loads_content)
    13             self.request.send(b'ok')
    14             sended=0
    15             s=b''
    16             total_long=pickle_loads_content['long']
    17             md5=hashlib.md5()
    18             i=0
    19             while sended<int(pickle_loads_content['long']):
    20                 i+=1
    21                 # print(i)
    22                 data=self.request.recv(1024)
    23                 md5.update(data)
    24                 s+=data
    25                 sended+=len(data)+1
    26                 # print(sended)
    27             self.request.send(md5.hexdigest().encode('utf-8'))
    28             break
    29 server=socketserver.ThreadingTCPServer(('192.168.13.137', 8027),Myserver)
    30 # 创建套接字对象
    31 # bind
    32 # listen
    33 server.serve_forever()
  • 相关阅读:
    DS博客作业05--查找
    DS博客作业04--图
    DS博客作业03--树
    DS博客作业02--栈和队列
    DS博客作业02--线性表
    c博客06-结构体&文件
    C博客作业05--2019-指针
    面向对象设计大作业——QQ联系人系统
    DS博客作业05--查找
    DS博客作业04--图
  • 原文地址:https://www.cnblogs.com/shanghongyun/p/9599201.html
Copyright © 2011-2022 走看看