zoukankan      html  css  js  c++  java
  • linux第9天 UDP

    今天学了一点UDP知识,还是IP协议.都不是重点,重点是socket服务器框架

    不过还是把今天学的东西,先罗列出来,将来复习的时候方便

    q  UDP报文可能会丢失、重复

    q  UDP报文可能会乱序

    q  UDP缺乏流量控制

    udp缓冲区写满以后,没有流量控制机制,会覆盖缓冲区。

    q  UDP协议数据报文截断

    如果接收到的数据报,大于缓冲区;报文可以被截断;后面的部分会丢失

    q  recvfrom返回0,不代表连接关闭,因为udp是无连接的。

    sendto可以发送数据0包。。。只含有udp头部。

    q  ICMP异步错误

    观察现象:关闭udp服务端,若启动udp客户端,从键盘接受数据后,再发送数据。udp客户端阻塞在sendto位置;

    //说明1udp发送报文的时,只把数据copy到发送缓冲区。在服务器没有起来的情况下,可以发送成功。

    说明2:所谓ICMP异步错误是指:发送的报文的时候,没有错误,接受报文recvfrom的时候,回收到ICMP应答

    说明3:异步的错误,是无法返回未连接的套接字。udp也可以调用connect

    q  UDP connect

    说明1//udp调用connet,并没有三次握手,只是维护了一个状态信息(和对等方的)。。。

    说明2//一但调用connect,就可以使用send函数

     

     

     

    结论:客户端调用connet和不调connet的区别。

    1)  udp也可以调用connet

    2)udp客户端调用了connect以后,不会阻塞在recvfrom函数这里。

    3)一但调用connect,就可以使用send函数

    4)  UDP协议数据报文截断

     

    如果接收到的数据报,大于缓冲区;报文可以被截断;后面的部分会丢失

     

     

    实验1

    //数据报方式。。。。不是字节流

             //如果接受数据时,指定的缓冲区的大小,较小;

             //剩余部分将要截断,扔掉

    实验2

     

    sendto可以发送0包,只含头部。

    UDP注意点

    q  UDP报文可能会丢失、重复

    q  UDP报文可能会乱序

    q  UDP缺乏流量控制

    udp缓冲区写满以后,没有流量控制机制,会覆盖缓冲区。

    q  UDP协议数据报文截断

    如果接收到的数据报,大于缓冲区;报文可以被截断;后面的部分会丢失

    q  recvfrom返回0,不代表连接关闭,因为udp是无连接的。

    sendto可以发送数据0包。。。只含有udp头部。

    q  ICMP异步错误

    观察现象:关闭udp服务端,若启动udp客户端,从键盘接受数据后,再发送数据。udp客户端阻塞在sendto位置;

    //说明1udp发送报文的时,只把数据copy到发送缓冲区。在服务器没有起来的情况下,可以发送成功。

    说明2:所谓ICMP异步错误是指:发送的报文的时候,没有错误,接受报文recvfrom的时候,回收到ICMP应答

    说明3:异步的错误,是无法返回未连接的套接字。udp也可以调用connect

    q  UDP connect

    说明1//udp调用connet,并没有三次握手,只是维护了一个状态信息(和对等方的)。。。

    说明2//一但调用connect,就可以使用send函数

  • 相关阅读:
    (4.25)Sqlserver中 登录用户只能看到自己拥有权限的库
    【查阅】mysql配置文件/参数文件重要参数笔录(my.cnf)
    【监控笔记】【2.5】DML(CDC)、DDL(DDL触发器)跟踪数据更改,数据库审计
    SQL Server 2008中的CDC(Change Data Capture)功能使用及释疑
    【监控笔记】【2.4】SQL Server中的 Ring Buffer 诊断各种系统资源压力情况
    【监控笔记】【2.3】扩展事件——慢查询SQL(执行超过3S的SQL)
    【监控笔记】【2.2】扩展事件——死锁监控
    最小配置启动SQL SERVER,更改SQL Server最大内存大小导致不能启动的解决方法
    【监控笔记】【2.1】扩展事件
    【扩展事件】跟踪超过3秒的SQL
  • 原文地址:https://www.cnblogs.com/c-slmax/p/5258484.html
Copyright © 2011-2022 走看看