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()
  • 相关阅读:
    MongoDB+Lucence.net
    hubble+sqlserver
    C# 设计模式 1 接口模式 1.1 适配器模式 IT
    SQLServer2005 中 XML类型方法中 XQuery中变量的参数化匆忙整理 IT
    DoNET 类库设计准则01 名称规则 IT
    GMRES在matlab中的描述
    矩阵良态与病态
    调试vc++的一点感悟
    基于GramSchmidt正交法的广义极小残量法(GMRES)
    VC6 vs2003 vs2005 使用技巧(转)
  • 原文地址:https://www.cnblogs.com/shanghongyun/p/9599201.html
Copyright © 2011-2022 走看看