zoukankan      html  css  js  c++  java
  • 面向对象的多继承与网络编程

    一、面向对象多继承

      1.先找左再找右

    class A(object):
        pass
    
    class B(object):
        def f1(self):
            print("B")
    
    class C(A,B):
        pass
    
    obj = C()
    obj.f1()
    #B

      2.经典类和新式类

        py2:

          经典类

          新式类,如果自己或者自己的父类有人继承object,那么此类就是新式类

        py3:

          新式类

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

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

          新式类,C3算法实现(py2.3更新C3算法)

              获取第一个表头和其他表尾进行比较,不存在则拿走,如果存在则放弃,然后获取第二个表的表头再次和其他表的表尾进行比较。

        super是遵循__mro__执行顺序(__mro__可以查看继承顺序)

    二、网络编程

      1.软件

        客户端:CS架构,client->server

        浏览器:BS架构,browser->server

      2.如何实现互相通信

        两个电脑直接连接(网线)

        教室互相通信(交换机)(内网)

        交换机和路由器

      总结:

        1.相互通信本质发送:01010101

        2.交换机作用

        3.通过ipconfig查看自己的内网ip

        4.公网ip,需要付费

      3.基于socket模块实现网络通信

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

          py3,send和recv都是字节

          py2,send和recv都是字符串

        服务器:

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

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

        客户端:

          connect,阻塞:一直在连接,知道连接成功才往下运行其他代码

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

    服务器:

    import socket   #引入socket模块
    server = socket.socket()    #创建一个socket的对象
    server.bind(("192.168.13.185",8000))    #绑定服务器的ip和端口号
    server.listen(5)    #后边最多可以有5个人等待
    conn,addr = server.accept()     #conn是连接的对象,addr是客户端的地址
    data = server.recv(1024)        #客户端发送的消息,1024是最多接收1024字节
    conn.send(b"buzhidao")          #发送给客户端的消息
    conn.close()                    #关闭与客户端之间的连接
    server.close()                  #关闭服务器

    客户端:

    import socket   #引入socket模块
    kh = socket.socket()    #创建一个socket的对象
    kh.connect(("192.168.13.185",8000)) #服务器的ip和端口号
    kh.send(b"123")     #发送的内容
    data = kh.recv(1024)    #接收的内容
    print(data)
    kh.close()  #关闭连接
  • 相关阅读:
    rocketmq 修改broker和namesrv默认设置的堆内存大小
    linux 向文件中添加内容 sed
    页面 请求错误总结
    将pgsql中的所有表的序列当前值设置为所需的值
    pg 强制断开连接 删库
    测试的基本概念
    Linking(3)
    Linking(1)
    Linking(2)
    Nginx Learning (5)
  • 原文地址:https://www.cnblogs.com/qq849784670/p/9578990.html
Copyright © 2011-2022 走看看