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()
  • 相关阅读:
    剑指offer(45)扑克牌顺子
    剑指offer(44)单词翻转序列
    剑指offer(43)左旋转字符串
    剑指offer(42)和为S的字符串
    剑指offer(41)和为S的连续正数序列
    剑指offer(40)数组中只出现一次的数字
    剑指offer(39)平衡二叉树
    面试金典——字符串压缩
    LeetCode——恢复二叉搜索树
    LeetCode——修剪二叉搜索树
  • 原文地址:https://www.cnblogs.com/shanghongyun/p/9599201.html
Copyright © 2011-2022 走看看