内容补充

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" 本质上用字节存储
"""

函数作用域

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)

网络组成了局域网/城域网/广域网

DNS

网络连接:

  -域名解析

    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本地电脑:  

  C:\Windows\System32\drivers\etc\hosts
  

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

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()


网络编程--多线程 , socketserver的更多相关文章

  1. 网络编程 多线程/socketserver模块/ threading.local

    线程:进程中负责程序执行的执行单元. 多线程:在1个进程中存在多个线程. 进程只是用来把资源集中在一起,而线程才是cpu上的执行单位. 每个进程都会默认有一个控制线程也叫作主线程. 进程之间是竞争关系 ...

  2. 网络编程 并发socketserver

    网络编程 并发socketserver ipv4.ipv6 ip协议:规定网络地址的协议 B/S架构 C/S架构 bs是cs的一种 B/S是浏览器和服务端架构 C/S是客户端和服务端架构 osi七层协 ...

  3. python2和3的区别丶网络编程以及socketserver多线程

    一丶python2和python3的区别 1.编码&字符串 字符串: python2: Unicode v = u"root"  本质上用unicode存储(万国码) (s ...

  4. python网络编程socket /socketserver

    提起网络编程,不同于web编程,它主要是C/S架构,也就是服务器.客户端结构的.对于初学者而言,最需要理解的不是网络的概念,而是python对于网络编程都提供了些什么模块和功能.不同于计算机发展的初级 ...

  5. Python之路(第三十三篇) 网络编程:socketserver深度解析

    一.socketserver 模块介绍 socketserver是标准库中的一个高级模块,用于网络客户端与服务器的实现.(version = "0.4") 在python2中写作S ...

  6. Python网络编程(socketserver、TFTP云盘、HTTPServer服务器模型)

    HTTP协议? HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型.HTTP是一个无状态的协议. 通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了 ...

  7. python网络编程:socketserver的基本使用

    本文内容: socketserver的介绍 socketserver的使用 socketserver的异步服务端 首发时间:2018-03-21 也可以使用socketserver来创建socket ...

  8. Linux网络编程--多线程实现echo服务器与客户端“一对多”功能,是网络编程的“Hello World!”

    在linux平台下,用多线程实现echo服务器与客户端“一对多”(即是一台服务器可以响应多个客户端的请求).本人写了个demo,和大家一起分享,有不足的地方,请多多指教,我是壮壮熊. 编译时,在后面加 ...

  9. C#网络编程 多线程和高并发

    在任何 TCP Server 的实现中,一定存在一个 Accept Socket Loop,用于接收 Client 端的 Connect 请求以建立 TCP Connection. 在任何 TCP S ...

随机推荐

  1. 好用的Win10快捷键

    好用的Win10快捷键 Top 01 基础按键 Win+E: 打开"资源管理器". Win+R: 打开"运行"对话框. Win+L: 锁定当前用户. Win+D ...

  2. TZ_10_spring-sucrity 服务器和页面的权限控制

    1.在服务器端我们可以通过Spring security提供的注解对方法来进行权限控制. Spring Security在方法的权限控制上支持三种类型的注解,JSR-250注解.@Secured注解和 ...

  3. php 该如何获取从百度搜索进入网站的关键词

    清源分享一个php获取从百度搜索进入网站的关键词的代码,有需要的朋友可以参考一下:https://blog.csdn.net/u012275531/article/details/17609065 代 ...

  4. 请问“javascript:;”是什么意思?

    请问“javascript:;”是什么意思?   最佳答案   就是 执行一段 空白JAVASCRIPT语句 并且返回的也是空或者false值..把 javascript:; 加在超级链接上 就可以防 ...

  5. MacBook安装QF9700网卡驱动

    HOW TO USE A GENERIC USB ETHERNET ADAPTER QF9700 ON MAC OS X  20 February 2016  macOS  Zahid Mahmood ...

  6. 【springmvc学习】常用注解总结

    @Controller 在springmvc中,我们用它来告诉前端控制器,他这个类是controller,也就是springmvc的一个对象了,我们在spring.xml配置文件中用<conte ...

  7. Springmvc使用阿里巴巴的fastjson传输到前台中文乱码的解决方案,他娘的大家都少制造垃圾,学习过程将会多么快乐

    弄了大概七八个小时吧 都他妈比的抄来抄去,一分一秒的去试错 最终参考这个问题解决了乱码的情况https://bbs.csdn.net/topics/392169549 412 需要在springmvc ...

  8. solr问题missing content stream

    在使用solrj建立索引的时候,报错:missing content stream; 原因在于 HttpSolrServer httpSolrServer = new HttpSolrServer(s ...

  9. oracle使用dblink跨库查询的例子

    本文介绍了oracle数据库使用dblink进行跨库查询的方法,oracle dblink跨库查询教程,需要的朋友参考下.   oracle dblink跨库查询 方法一:首先,创建数据库链接: 复制 ...

  10. Latex 出现编辑公式,出现错误 !pdfTex error: Font rntxmi7 at 438 not found

    http://docs.miktex.org/manual/advanced.html http://www.cl-projects.de/projects/misc/miktex-fonts.pht ...