zoukankan      html  css  js  c++  java
  • 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())
  • 相关阅读:
    盒子阴影——Box-shadow
    Flex布局
    常用正则表达式
    选择器
    上传头像功能
    利用百度地图API获取用户浏览器所在省市区
    Android Studio编译运行卡慢的解决方案
    Laravel5.5 解决时区设置差8个小时解决办法
    Git:远程代码与本地冲突常见解决方法
    vue-element-admin解决跨域问题
  • 原文地址:https://www.cnblogs.com/g177w/p/8125447.html
Copyright © 2011-2022 走看看