• 简单了解线程、一些网络知识


    一、初识线程

    import threading
    
    def func(*args):
        print("1")
    
    t = threading.Thread(target=func,args=(1,2,3,))  #创建了一个线程,让该线程去完成任务(函数)
    t.start()
    #1

    二、利用线程与socket模块完成多线程的信息传递

    服务端

    import threading
    import time
    import socket
    server = socket.socket()
    server.bind(("192.168.13.185",8100))
    server.listen(5)
    def func(arg):
        data = arg.recv(1024).decode("utf8")
        time.sleep(2)
        print(data)
    
    while 1:
        conn,addr = server.accept()  #也就是当每收到一个连接时,就创建了一个线程去完成任务
        t = threading.Thread(target=func,args=(conn,))
        t.start()

    三、利用多线程简单爬几张图片****(多线程主要是提高效率)

    import threading
    import uuid
    import requests
    url_list = [
        'https://www3.autoimg.cn/newsdfs/g28/M05/F9/98/120x90_0_autohomecar__ChsEnluQmUmARAhAAAFES6mpmTM281.jpg',
        'https://www2.autoimg.cn/newsdfs/g28/M09/FC/06/120x90_0_autohomecar__ChcCR1uQlD6AT4P3AAGRMJX7834274.jpg',
        'https://www2.autoimg.cn/newsdfs/g3/M00/C6/A9/120x90_0_autohomecar__ChsEkVuPsdqAQz3zAAEYvWuAspI061.jpg',
    ]
    def func(url):
        res = requests.get(url)
        file_name = str(uuid.uuid4()) + ".jpg"  #随机生成一个名字
        with open(file_name,"wb") as f:
            f.write(res.content)  #res.content 就是接收到的数据
    for url in url_list:
        t = threading.Thread(target=func,args=(url,))
        t.start()

    四、一些网络知识

      1.电脑中有网卡,网卡里有mac地址

      2.路由器或交换机中的DHCP服务为我们自动分配ip地址

        局域网、城域网、广域网

          广播、单播、广播风暴、arp协议

      3.DNS

        域名解析

        域名与ip的对应关系在哪里

          win:C:WindowsSystem32driversecthosts

          Linux、Mac电脑:/etc/hosts

          DNS服务器,全球顶级DNS服务器13台

      总结:

        1.DHCP,自动为局域网内的电脑分配ip

        2.网关,路由器中连接交换机的口

        3.ip,4个点分十进制表示

        4.子网掩码

          192.168.13.99

          255.255.255.0

        5.局域网、城域网、广域网

        6.arp协议

        7.DNS

  • 相关阅读:
    MVC动态添加文本框,后台使用FormCollection接收
    使用结构struct作为Dictionary<TKey,TValue>的键
    扩展方法的几个实例,扩展基本类型、接口、通过反射让扩展方法使用私有成员等
    使用Enum.TryParse()实现枚举的安全转换
    .NET泛型04,使用Lazy<T>实现延迟加载
    .NET泛型03,泛型类型的转换,协变和逆变
    .NET泛型02,泛型的使用
    dd、split、csplit命令
    seq命令
    uniq命令
  • 原文地址:https://www.cnblogs.com/qq849784670/p/9599643.html
Copyright © 2020-2023  润新知