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操作才应该切换,这样才能提高效率

UDP及操作系统理论的更多相关文章

  1. 4月23日 python学习总结 套接字UDP和 操作系统理论,多道理论

    一.套接字UDP udp是无链接的,先启动哪一端都不会报错 UDP(user datagram protocol,用户数据报协议)是无连接的,面向消息的,提供高效率服务.不会使用块的合并优化算法,, ...

  2. udp套接字及利用socketserver模块实现并发以及并发编程

    一:基于udp协议(数据报协议)的套接字:和tcp协议的套接字对比而言,由于udp是无链接的,所以先启动哪一端都不会报错,而且udp也不会有粘包 现象,所以对比下来,tcp协议的话传输数据更加可靠,但 ...

  3. 基于udp协议的套接字,socketserver模块,多道技术,进程理论

    进程指的是一个正在进行/运行的程序,进程是用来描述程序执行过程的虚拟概念 进程vs程序 程序:一堆的代码 进程:程序执行的过程 进程的概念起源于操作系统,进程是操作系统最核心的概念,操作系统的其他所有 ...

  4. TCP与UDP比较 以及并发编程基础知识

    一.tcp比udp真正可靠地原因 1.为什么tcp比udp传输可靠地原因: 我们知道在传输数据的时候,数据是先存在操作系统的缓存中,然后发送给客户端,在客户端也是要经过客户端的操作系统的,因为这个过程 ...

  5. 探索UDP套接字编程

    UDP和TCP处于同一层网络模型中,也就是运输层,基于二者之上的应用有很多,常见的基于TCP的有HTTP.Telnet等,基于UDP有DNS.NFS.SNMP等.UDP是无连接,不可靠的数据协议服务, ...

  6. RUDP之一 —— UDP VS TCP

    原文链接 原文:http://gafferongames.com/networking-for-game-programmers/udp-vs-tcp/ 介绍 大家好,我是Glenn Fiedler, ...

  7. 【转】 探索UDP套接字编程

    UDP和TCP处于同一层网络模型中,也就是运输层,基于二者之上的应用有很多,常见的基于TCP的有HTTP.Telnet等,基于UDP有DNS.NFS.SNMP等.UDP是无连接,不可靠的数据协议服务, ...

  8. UNIX网络编程——UDP回射服务器程序(初级版本)以及漏洞分析

    该函数提供的是一个迭代服务器,而不是像TCP服务器那样可以提供一个并发服务器.其中没有对fork的调用,因此单个服务器进程就得处理所有客户.一般来说,大多数TCP服务器是并发的,而大多数UDP服务器是 ...

  9. 【RL-TCPnet网络教程】第16章 UDP用户数据报协议基础知识

    第16章      UDP用户数据报协议基础知识 本章节为大家讲解UDP(User Datagram Protocol,用户数据报协议),需要大家对UDP有个基础的认识,方便后面章节UDP实战操作. ...

随机推荐

  1. 小数组的读写和带Buffer的读写哪个快

    定义小数组如果是8192个字节大小和Buffered比较的话 定义小数组会略胜一筹,因为读和写操作的是同一个数组 而Buffered操作的是两个数组

  2. centos6.8下配置vsftp

    几个小时的调试 终于OK了 以下配置就算开了selinux 也照样能正常上传 注意 默认的上传目录 在 /home/用户名目录 如果不能下载文件 设置下文件的权限 一.安装VSFTP # yum -y ...

  3. fetch jsonp请求接口

    function loadTbbRec() { var fetchJsonp = require('fetch-jsonp'); fetchJsonp(ext.info.tbbRecUrl, { he ...

  4. 多线程,线程池与BeginInvoke()

    在WinForm中,很多情况下需要用到多线程,下面我来简单介绍一下多线程的基本用法. 1.线程.   (1)线程的初始化  Thread t = new Thread(new ThreadStart( ...

  5. CentOS 7 vi详解

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任何版本,vi编辑器是完全相 ...

  6. 机器学习算法K-NN的一个使用实例:预测一个人是否患有糖尿病 (KNN-Predict whether a person will have diabetes or not )

    学习中...不断更新. 在糖尿病人的数据库中有几列是不能为0的 比如葡萄糖 胰岛素 身体指数和皮肤厚度.所以在数据预处理阶段需要对这些列的数据进行替换. remeber we did 12 minus ...

  7. PPM / PGM / PBM 图像文件格式

    PPM / PGM / PBM 图像文件格式 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 说明:在进行图像压缩后传输,然后解压缩显示的过程中,通常会用到P ...

  8. 最新 荔枝java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.荔枝等10家互联网公司的校招Offer,因为某些自身原因最终选择了荔枝.6.7月主要是做系统复习.项目复盘.LeetCode ...

  9. 在同一个页面多次调用el-select选择器

    elementui是一个十分好用的组件库,但毕竟也不能做到面面俱到,有些还是要根据根据自己的实际需求做一些自定义的方法. 比如el-select选择器在同一个页面使用多次的话就会造成选择一个另一个也会 ...

  10. C#基础知识学习 linq 和拉姆表达式一

    两个方法对比 第二种方法 对比学习 拉姆表达 linq 用法