zoukankan      html  css  js  c++  java
  • 经典类、新式类,网络编程

    一、经典类与新式类

    1、在Python2的版本中有经典类和新式类,在Python3的版本中只有新式类

    2、经典类和新式类的查找成员的顺序不一样。

      经典类:一条道走到黑(深度优先)

      新式类:c3算法(保留最后的根)

      supper是遵循__mor__执行顺序

    二、网络编程

    1、基于socket模块实现网络通信

      为什么网络通信发送的是字节而不是字符串

        python3 send/recv 都是字节

        python2 send/recv 都是字符串

      服务端:

        accept,阻塞:等待客户端来连接

        recv , 阻塞:等待客户发来数据

      客户端:

        connect,阻塞:等待连接服务端

        recv , 阻塞:等待服务端发送数据

    三、简单的用户登录

    客户端

     1 import socket
     2 client=socket.socket()
     3 
     4 client.connect(('192.168.13.35',8000)) # 服务端的ip地址以及端口
     5 
     6 name=input("请输入用户名")
     7 pwd=input("请输入密码")
     8 
     9 #向服务端发送数据(发送字节)
    10 client.send(name.encode("utf-8"))
    11 client.send(pwd.encode("utf-8"))
    12 
    13 #接受服务端发送的数据
    14 responed=client.recv(1024)
    15 print(responed.decode("utf-8"))
    16 
    17 client.close()

    服务端

     1 import socket
     2 server=socket.socket()
     3 #创建服务端socket对象
     4 server.bind(("192.168.13.35",8000))
     5 
     6 #可等待的客户端量
     7 server.listen(5)
     8 
     9 #等待客户端连接
    10 conn,addr=server.accept()
    11 
    12 #接受客户端发送的数据
    13 usename=conn.recv(1024)
    14 usepwd=conn.recv(1024)
    15 
    16 print(type(usepwd.decode("utf-8")))
    17 
    18 with open("b.txt","r",encoding="utf-8") as f1:
    19     for line in f1:
    20         line=line.strip()
    21         if line.split(",")[0]==usename.decode("utf-8") and line.split(",")[1]==usepwd.decode("utf-8"):
    22             conn.send(b"success to login!!!")
    23     else:
    24         conn.send(b"faill!!!!")
    25 
    26 conn.close()
    27 server.close()
  • 相关阅读:
    AWS的EC2实例搭建服务器使用stackoverflow教程
    亚马逊云开服之旅
    Linux主机之间ssh免密登录配置方法
    阿里云运维培训讲解
    区块链技术在物流领域应用分析
    公众号页面分享朋友圈后点击跳转到小程序的方法介绍
    数据库主库从库宕机重启后binlog数据同步
    Docker+ElasticSearch+Logstash+Kibana+Filebeat搭建方法
    linux实现磁盘自动挂载脚本
    阿里云ecs基于镜像进行旧服务器迁移到新服务器
  • 原文地址:https://www.cnblogs.com/liaopeng123/p/9579419.html
Copyright © 2011-2022 走看看