• socketserver 入门练习


    个人理解

      个人感觉socketserver其实就是为服务端专门提供的一个用于解决多用户并发访问需求的一个模块

    小试牛刀:

    服务端socketserver_server.py

     1 import socketserver
     2 ''' socketserver_server.py
     3    要使用socketserver实现服务器端代码编写需遵循的三步:
     4        1.自己创建一个请求处理类,该类要继承BaseRequestHandler,且还要重写父类的handle()
     5        2.实例化TCPServer(UDPServer),并传递server ip和上边创建的请求处理类给这个TCPServer(UDPServer)
     6        3.调用实例的handle_request() or serve_forever()来分别处理一个请求或多个请求
     7 '''
     8 #请求处理类
     9 class Mysocket(socketserver.BaseRequestHandler):
    10     #重写父类的handle()
    11     def handle(self):
    12         while True:
    13             try:
    14                 self.data = self.request.recv(1024).strip()
    15                 print(self.data.decode())
    16                 data = '收到消息'.encode()
    17                 self.request.send(data)
    18             except ConnectionResetError as e:
    19                 print('error occured:',e)
    20                 break
    21 if __name__ == '__main__':
    22     #指定服务器ip
    23     Host,Port = 'localhost',9999
    24     server = socketserver.TCPServer((Host,Port),Mysocket)
    25     server.serve_forever()

     客户端socketserver_client.py

     1 import socket
     2 
     3 '''
     4 socketserver_client.py
     5 客户端和socket编程的客户端样,用到socket
     6 '''
     7 client = socket.socket()
     8 client.connect(('localhost',9999))
     9 while True:
    10     mes = input(">>:").strip()
    11     if len(mes) == 0:
    12         continue
    13     client.send(mes.encode())
    14     respose_data = client.recv(1024)
    15     print(respose_data.decode())
  • 相关阅读:
    中文排版指南
    HTTP返回码详解
    我的JS 类 写法
    【CodeForces】[630C]Lucky Numbers
    【CodeForces】[630C]Lucky Numbers
    【CodeForces】[630A]Again Twenty Five!
    【CodeForces】[630A]Again Twenty Five!
    【HPU】[1006]DNA
    【HPU】[1006]DNA
    【杭电】[3790]最短路径问题
  • 原文地址:https://www.cnblogs.com/g177w/p/8125447.html
Copyright © 2020-2023  润新知