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()
  • 相关阅读:
    POJ1094(Topological Sort)
    POJ1258(Minimum Spanning Tree,Prim)
    POJ2509(Water,Greedy)
    POJ1258(Minimum Spanning Tree,Kruskal)
    POJ1256(permutation)
    POJ2790(BFS)
    HDU 1527 取石子游戏
    POJ Mayor's posters
    HDU 1907 John
    HDU 2516 取石子游戏
  • 原文地址:https://www.cnblogs.com/shanghongyun/p/9599201.html
Copyright © 2011-2022 走看看