网络编程--多线程 , socketserver
2021-07-04 23:06
标签:路由 分配 idt 任务 accept 子网 区别 serve image Python的作用域是通过函数划分的,作用域是在编写完成代码就已经生成. Python中程序的变量不是在哪个位置都可以访问的,访问权限决定这个变量在哪里赋值的.变量的作用域决定了在那一部分程序可以访问哪个特定的变量名称. Python的作用域一共有4种: L (Local) 局部作用域 E (Enclosing) 必包函数外的函数中 G (Global) 全局作用域 B (Built-in) 内建作用域 按照L->E->G->B的规则查找 列表表达式是Python内置的一种强大的生成list的表达式 格式: v = [lambda x:x+i for i in range(10)] 路由器或交换机中的DHCP服务自动分配IP地址:(DHCP;自动为局域网内的电脑分配IP) IP:用4个"."分开的十进制表示 例:192.168.13.11 IP:192.168.13.86 IPV4 00000000.00000000.00000000.00000000 0~255 0~255 0~255 0~255 IPV6 (目前个人基本用不到) 00000000.00000000.00000000.00000000.00000000.00000000 子网掩码:255.255.255.0 192.168.13.86 255.255.255.0 将挡住的IP位数作为网段 为挡住的部分作为可变的值 网关:路由器中连接交换机的接口 网关IP:192.168.13.1 (默认为1) 网络组成了局域网/城域网/广域网 网络连接: -域名解析 www.luffycity.com ==> 47.95.64.113 www.oldboyedu.com ==> 101.200.195.98 -连接 sk = socket.socket() sk.connect((‘47.95.64.113‘,80)) 看上面的代码,那么域名和IP的对应关系在哪里? 本地: win本地电脑: DNS服务器:全球顶级DNS服务器13台 网络编程--多线程 , socketserver 标签:路由 分配 idt 任务 accept 子网 区别 serve image 原文地址:https://www.cnblogs.com/wangjun187197/p/9600976.html内容补充
python2与python3的区别?
"""
python3对unicode字符的原生支持
Python2中使用ASCII码作为默认编码方式导致string有两种类型str和Unicode , Python3只支持Unicode的string
"""
"""
py2:
unicode v = u"root" 本质上用Unicode存储
(str/bytes) v = "root" 本质上用字节存储
py3:
str v = "root" 本质上用unicode存储
bytes v = "root" 本质上用字节存储
"""
函数作用域
列表表达式
网络
DNS
C:\Windows\System32\drivers\etc\hosts
socketserver
ThreadingTCPServer源码剖析:
初识线程
impor time
impor threading
def task(a1,a2,a3):
time.sleep(2)
print("拿快递")
def play():
print(‘陪女友玩耍‘)
def Take-out food():
print("去拿外卖")
#创建一个线程
#让该线程去执行任务:函数
t1 = threading.Thread(target=task,args=(1,2,3))
#去执行吧
t1.start()
#创建一个线程
#让该线程去执行任务:函数
t2 = threading.Thread(target=play))
#去执行吧
t2.start()
#创建一个线程
#让该线程去执行任务:函数
t3 = threading.Thread(target=Take-out food))
#去执行吧
t3.start()
print("玩扇子")
print("煽风点火")
print("耍贱...")
socket与线程配合
import time
import socket
import threading
def task(conn):
time.sleep(5)
data = conn.recv(1024)
print(data)
conn.close()
server = socket.socket()
server.bind((‘192.168.13.86‘,8000))
server.listen(5)
while True:
conn,addr = server.accept()
t = threading.Thread(target=task, args = (conn,))
t.start()