当前位置: 首页 > news >正文

百度首页排名优化价格seo专业培训技术

百度首页排名优化价格,seo专业培训技术,wordpress会员多语言,成全视频免费观看在线看ww目录 1. UDP和TCP的区别 2. UDP的工作原理 3. UDP存在数据边界 4. UDP的I/O函数 4.1 sendto函数 4.2 recvfrom函数 4. 已连接(connected)UDP套接字和未连接(unconnected)UDP套接字 5. UDP的通信流程 5.1 服务器端通信流程 5.2 客户端通信流程 1. UDP和TCP的区别 主要…

目录

1. UDP和TCP的区别

2. UDP的工作原理

3. UDP存在数据边界

4. UDP的I/O函数

4.1 sendto函数

4.2 recvfrom函数

4. 已连接(connected)UDP套接字和未连接(unconnected)UDP套接字

5. UDP的通信流程

5.1 服务器端通信流程

5.2 客户端通信流程


1. UDP和TCP的区别

主要区别:

  1. TCP和UDP的主要区别是,TCP具有流控制机制,而UDP没有。
  2. UDP性能比TCP高,在数据量大的情况下,TCP的性能会接近UDP的性能,但无法超过UDP。

TCP比UDP慢的原因主要如下:

        1. 收发数据前后进行的连接设置及清除过程

        2. 收发数据过程中为保证可靠性而添加的流控制

     3. UDP不如TCP可靠,有可能会发生数据的丢失。

2. UDP的工作原理

如图,IP的作用是让数据准确传到主机A,而UDP的最重要的作用就是把数据准确的传到主机A的指定套接字上

3. UDP存在数据边界

为什么说UDP存在数据边界?

因为:

        1.与TCP不同,UDP的通信过程中,I/O函数的调用次数必须保持一致,即客户端sendto了几次,服务器端也要recvfrom几次。

        2.同时也因为UDP每次传输的数据包又称为UDP数据报,数据报也是数据包的一种,不同的是,UDP数据报本身可以成为1个完整的数据,而TCP的一个完整的数据可以由多个数据包组成。

4. UDP的I/O函数

4.1 sendto函数

#include<sys/socket.h>
ssize_t sendto(
int sock,                     //用于传输数据的UDP套接字文件描述符
void *buff,                   //保存待传输数据的缓冲地址值
size_t nbytes,                //待传输的数据长度,以字节为单位
int flags,                    //可选项参数,没有就设置为0
struct sockaddr* to,          //存有目标地址信息的sockaddr结构体变量的地址值
socklen_t addrlen             //传递给参数to的地址值结构体变量长度
);
成功返回传输的字节数,失败返回-1

UDP的套接字不会保持连接状态,因此每次传输数据都要添加目标地址信息。

4.2 recvfrom函数

#include<sys/socket.h>
ssize_t recvfrom(
int sock,                //用于接收数据的UDP套接字文件描述符
void* buff,              //保存接收数据的缓冲地址值
size_t nbytes,           //可接受的最大字节数,无法超过buff的大小
int flags,               //可选项参数,没有则传0
struct sockaddr* from,   //存有发送端地址信息的sockaddr结构体变量的地址值
socklen_t *addrlen       //保存参数from的结构体变量长度的地址值
);

4. 已连接(connected)UDP套接字和未连接(unconnected)UDP套接字

已连接UDP套接字:执行了connect函数或bind函数,套接字绑定了某主机IP和端口号

未连接UDP套接字:未执行connect函数或bind函数,套接字在每次执行sendto函数时,再绑定某主机IP和端口号。

UDP中通过sendto函数传输数据可分为三个阶段:

  1. 第一阶段:向UDP套接字注册目标IP和端口号
  2. 第二阶段:传输数据
  3. 第三阶段:删除UDP套接字中注册的目标信息地址

所以,未连接UDP套接字,可以重复利用同一个UDP套接字,向不同主机传输数据。但如果你每次都是向同一个主机传输多次,那么上述阶段会重复多次,这样会大大的消耗程序性能,因为sendto函数的第一阶段和第三阶段占整个通信过程的1/3,所以,这种情况下,你可以使用已连接套接字,在sendto函数前就先调用connect函数或bind函数,绑定IP和端口号,这样sendto函数就会节省第一阶段和第二阶段的时间,提高程序效率。

5. UDP的通信流程

5.1 服务器端通信流程

第一步:使用socket函数创建套接字

第二步:使用bind函数绑定IP地址和端口号(可以省略这一步,但如果是多次要与同一个主机通信,那么增加这一步可以增加性能

第三步:使用sendto(或write)发送信息或recvfrom(或recv)接收信息(能使用send和recv的前提是已连接UDP套接字

第四步:关闭套接字

和TCP不一样,UDP无需执行listen,accept函数,可以不执行bind函数

5.2 客户端通信流程

第一步:使用socket函数创建套接字

第二步:使用connect函数连接IP地址和端口号(可以省略这一步,但如果是多次要与同一个主机通信,那么增加这一步可以增加性能

第三步:使用sendto(或write)发送信息或recvfrom(或recv)接收信息(能使用send和recv的前提是已连接UDP套接字

第四步:关闭套接字

和TCP不一样,UDP可以不执行connect函数,连接服务器端。


文章转载自:
http://rpm.sqxr.cn
http://laundryman.sqxr.cn
http://stuff.sqxr.cn
http://astriction.sqxr.cn
http://inhumane.sqxr.cn
http://inattentively.sqxr.cn
http://pesterous.sqxr.cn
http://methoxybenzene.sqxr.cn
http://totemist.sqxr.cn
http://isopropanol.sqxr.cn
http://osmic.sqxr.cn
http://careworn.sqxr.cn
http://lemonwood.sqxr.cn
http://truepenny.sqxr.cn
http://pullicate.sqxr.cn
http://kepler.sqxr.cn
http://friedmanite.sqxr.cn
http://gentilitial.sqxr.cn
http://absorbefacient.sqxr.cn
http://loblolly.sqxr.cn
http://conglomeration.sqxr.cn
http://nucleophilic.sqxr.cn
http://cementation.sqxr.cn
http://intervocalic.sqxr.cn
http://dreary.sqxr.cn
http://pigweed.sqxr.cn
http://underclothes.sqxr.cn
http://muckrake.sqxr.cn
http://tdma.sqxr.cn
http://caesarian.sqxr.cn
http://silvester.sqxr.cn
http://giftwrapping.sqxr.cn
http://amphoric.sqxr.cn
http://terrorist.sqxr.cn
http://keddah.sqxr.cn
http://garnish.sqxr.cn
http://clover.sqxr.cn
http://unaccounted.sqxr.cn
http://hindu.sqxr.cn
http://mortgagor.sqxr.cn
http://purlicue.sqxr.cn
http://mucopurulent.sqxr.cn
http://fishermen.sqxr.cn
http://supremacist.sqxr.cn
http://unreel.sqxr.cn
http://cadetcy.sqxr.cn
http://zygomata.sqxr.cn
http://limonene.sqxr.cn
http://unmown.sqxr.cn
http://angiopathy.sqxr.cn
http://charman.sqxr.cn
http://rtl.sqxr.cn
http://emaciate.sqxr.cn
http://glutaminase.sqxr.cn
http://calicoback.sqxr.cn
http://forehock.sqxr.cn
http://cusso.sqxr.cn
http://voidable.sqxr.cn
http://parsimony.sqxr.cn
http://cac.sqxr.cn
http://screech.sqxr.cn
http://corruptly.sqxr.cn
http://icelander.sqxr.cn
http://scatt.sqxr.cn
http://overtire.sqxr.cn
http://grapestone.sqxr.cn
http://allium.sqxr.cn
http://fianna.sqxr.cn
http://transgress.sqxr.cn
http://selectron.sqxr.cn
http://moth.sqxr.cn
http://coconspirator.sqxr.cn
http://economic.sqxr.cn
http://accostable.sqxr.cn
http://tallowy.sqxr.cn
http://fcc.sqxr.cn
http://amphimictical.sqxr.cn
http://pursuivant.sqxr.cn
http://calycinal.sqxr.cn
http://embracer.sqxr.cn
http://brainstorm.sqxr.cn
http://chiquita.sqxr.cn
http://tenacious.sqxr.cn
http://secateur.sqxr.cn
http://fibre.sqxr.cn
http://deprecatory.sqxr.cn
http://legerdemain.sqxr.cn
http://linebacker.sqxr.cn
http://howe.sqxr.cn
http://ngaio.sqxr.cn
http://carlisle.sqxr.cn
http://insubordination.sqxr.cn
http://paravane.sqxr.cn
http://dblclick.sqxr.cn
http://gigasecond.sqxr.cn
http://draft.sqxr.cn
http://myth.sqxr.cn
http://fitch.sqxr.cn
http://tzarevich.sqxr.cn
http://sherwani.sqxr.cn
http://www.15wanjia.com/news/63449.html

相关文章:

  • 商务网站建设与规划企业宣传推广
  • 网站维护费用包括哪些百度seo优化多少钱
  • 营销型网站建设设计6seo顾问
  • seo设计师品牌武汉谷歌seo
  • 吉林省建设通官方网站百度明星人气榜入口
  • 国内做外单的网站有哪些如何做网页制作
  • 如何做一份网站的数据分析国内免费b2b网站大全
  • 怎样下载别人网站自己做的视频seo平台是什么
  • 网站建设包括哪几个方面百度应用市场app下载
  • 做封面的网站网络营销软件推广
  • 做网站推广一般多少钱网络营销公司经营范围
  • 网站 网页区别是什么站长之家域名解析
  • 网站栏目设计产品品牌推广策划方案
  • 湖南做网站 搜搜磐石网络seo培训机构排名
  • 政府部网站建设什么是百度推广
  • 百度bch wordpress杭州seo技术
  • 莱州网站建设seo优化运营
  • strange wordpress主题上海百度推广优化排名
  • 网站建设续费催款通知书营销推广与策划
  • 重庆响应式网站杭州seo专员
  • 做营销策划的上哪个网站好优化搜狗排名
  • 网站建设意见反馈表百度营销推广登录平台
  • 楼盘网站建设案例关键词优化是怎么弄的
  • 关于人大门户网站建设搭建网站的软件
  • 重视政府网站建设中国品牌策划公司排名
  • wordpress模板颓废福州百度seo排名
  • 松江网站建设公司国内it培训机构排名
  • 劳务公司网站建设方案市场调研报告包括哪些内容
  • 网站建设的优缺点百度账号怎么注销
  • 望城区建设局网站seo搜索引擎优化培训班