day33

                                              UDP协议

OSI模型中,属于传输层的协议,仅用于不要求可靠性及分组顺序且数据量较小的简单传输。

只管发送,不管对方是否接收到,甚至不关心对方是否存在。

发送数据时,一旦发送,立马删除缓存数据。如果对方没收到,就真没了。

UDP最大数据长度为1472

案例

客户端

from socket import *

client = socket(AF_INET,SOCK_DGRAM)
client.sendto("%Y-%m-%d".encode("utf-8"),("127.0.0.1",1688))
data,addr = client.recvfrom(1472)
print(data)

服务器

from socket import *
import time

server = socket(AF_INET,SOCK_DGRAM)
server.bind(("127.0.0.1",1688))

while True:
  data,addr = server.recvfrom(1472)
  res = time.strftime(data.decode("utf-8"),time.localtime())
  server.sendto(res.encode("utf-8"),addr)

 

                      DNS

DNS:域名解析服务器

将域名转换为IP地址,要连接服务器一定要知道IP,但IP不方便记忆。故我们把IP和一个域名绑定到一起。  

域名:一串有规律的字符串

DNS是server端,本质是个数据库,在储域名和IP的对应关系

news.cctv.com

com顶级域名 cctv二级域名 news三级域名

 

                   并发编程

UDP可以处理多个客户端,但并不是真正的同时处理,而是按顺序处理,速度非常快,让人感觉像是同时处理,这就是并发。

想要真正同时运行,必须由多个执行单位使多个应用程序同时运行,而一种可以使服务器可同时处理多个客户端请求的能力,这就是并发。

多进程实现原理——多道技术

为了提高计算机利用率

1.空间复用  把内存分割为不同区域,每个区域装入不同程序

2.时间复用  当一个程序执行IO操作时,切换到另一个程序来执行

有了多道技术,计算机可在同一时间处理多个任务,遇到IO操作才该切换。

#切换程序之前一定要保存当前状态,当程序切回来的时候继续之前的步骤来执行。

 

posted @ 2019-05-30 20:04  呼吸决定丶  阅读(115)  评论(0)    收藏  举报