UDP介绍

  udp协议又称用户数据报协议

  在OSI七层模型中,它于TCP共同存在于传输层

  仅用于不要求可靠性,不要求分组顺序且数据较小的简单传输,力求速度

UDP结合socket用法

1、创建socket对象

2、收发消息(发消息时需要指定服务器的ip及端口)

from socket import *        # 导入socket模块里所有功能
client = socket(AF_INET,SOCK_DGRAM) # 这里要指定SOCK_DGRAM,为UDP数据报协议 while True:
msg = input('>>(q:退出):').strip()
if msg == 'q':
break
if not msg:
continue
# 发送信息也是发送二进制数据,用sendto()函数 ,括号里加入数据以及服务器的ip及端口
client.sendto(msg.encode('utf-8'),('127.0.0.1',8080))
# 接收数据用recvfrom()函数,括号里指定的缓存区大小,经计算1472最合适,
# 不会超过MTU的大小,所以也不会被切分发送,返回的一个是元组,包括数据还有对方的ip及端口
# 如果对面发过来的数据报大小比指定的缓存区大,就会报错
data,addr = client.recvfrom(1472)
print(data)

客户端

1、创建socket对象

2、绑定ip及端口地址

3、收发消息(发消息时需要指定对方的ip及端口)

from socket import * # 导入socket模块
server = socket(AF_INET,SOCK_DGRAM)
server.bind(('127.0.0.1',8080)) # 服务器需要绑定自己的ip及端口,让别人能找到你 while True:
# 接收数据
data,addr = server.recvfrom(1472)
# 发送数据
server.sendto(data.upper(),addr)

服务器端

UDP于TCP的区别  ******

特性上的区别

#1、传输不可靠

#2、不需要建立连接

#3、不会粘包

#4、单词数据报不能太大

代码上的区别

1、服务器端

  --1、服务器端不需要监听  listen

  --2、不需要接收请求  accept

  --3、收数据  recvfrom(缓冲区大小)

  --4、发数据 sendto(二进制数据,地址)

2、客户端

  --1、不需要建立连接

  --2、收数据 recvfrom(缓冲区大小)

  --3、发数据 sendto(二进制数据,地址)

DNS服务器(了解)

1、dns全程:域名解析服务器

2、dns作用:将域名转换为IP地址  想要连接服务器,就一定要知道IP地址才能访问

3、使用dns原因:单独的ip地址不方便记忆,所以把ip地址和域名绑定在一起,通过域名可以找到ip地址从而访问网站

4、dns的形式:dns是cs结构的server端,使用的是udp协议,因为传输的数据小,对速度要求高

        dns本质就是一个数据库,里面就存储域名和ip的对应关系

5、域名的结构:

  拿news.cctv.com来说

    .com :顶级域名

    cctv  :二级域名

    news :三级域名

操作系统概念

1、进程概念:正在运行的程序   进程来自于操作系统,没有操作系统就没有进程

2、操作系统概念: 操作系统也是一套软件

3、操作系统功能:

  1)控制硬件,隐藏复杂的硬件细节

  2)将无序的硬件竞争变得有序

多道技术

1、产生原因:

  早些年,计算机同一时间只能运行一个程序,这时候是不可能并发的

  要并发,就需要不同的应用程序,如何使多个应用程序同时被运行,这就需要多道技术

2、多道技术的原理: (多道技术主要是为了提高计算机的利用率)

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

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

         光切换还不行,必须在切换前保存当前状态,以变恢复执行

3、注意点:

  并不是多道就一定提高了效率

  如果多个任务都是纯计算 ,那么切换反而降低了效率

  遇到IO操作才应该切换,这样才能提高效率

最新文章

  1. frp配置
  2. Poj2186Popular Cows
  3. Linux下man安装及使用方法
  4. MVC3异常处理的方法
  5. 关于delphi Assigned
  6. Frame Stacking 框架堆叠
  7. 【转】cocos2d-x 开发中使用的一些工具
  8. c# json数据解析——将字符串json格式数据转换成对象
  9. MFC与Qt的内存管理
  10. HttpStatus各种状态
  11. win10 uwp 通知列表
  12. Apache shiro集群实现 (二) shiro 的INI配置
  13. Java Scanner用法详解
  14. shell脚本--函数
  15. am335x ar8031 双网口配置记录
  16. Stones 优先队列
  17. 模板(template)包含与继承
  18. linux常用命令集锦
  19. Nginx下载和安装与启动
  20. 阿里云EIP按流量计费

热门文章

  1. android 上下滑动标题栏和状态栏改变颜色实现
  2. webdriver报不可见元素异常方法总结
  3. Qt pri文件
  4. APP 抓包-fiddler
  5. Kafka Connect Architecture
  6. (八)利用apache组件进行文件上传下载
  7. 函数 、while、case、select 语句结合
  8. droid AVD创建及设置中各参数详解
  9. 如何使用 AWS Auto Scaling 按需动态增加和减少实例
  10. thinkphp5 引用 phpass加密算法