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

wordpress 显示指定分类文章seo网站关键词优化软件

wordpress 显示指定分类文章,seo网站关键词优化软件,网页制作费用,十字绣网站开发记得在上一节我们说过TCP中的读取时需要改进,这节就可以解决读取问题了。 目录 应用层再谈 "协议"网络版计算机方案一方案二 序列化 和 反序列化 重新理解 read、write、recv、send 和 tcp 为什么支持全双工 应用层 再谈 “协议” 我们在UDP与TCP中写的…

记得在上一节我们说过TCP中的读取时需要改进,这节就可以解决读取问题了。

目录

  • 应用层
    • 再谈 "协议"
    • 网络版计算机
      • 方案一
      • 方案二
    • 序列化 和 反序列化
  • 重新理解 read、write、recv、send 和 tcp 为什么支持全双工

应用层

再谈 “协议”

我们在UDP与TCP中写的代码都是在应用层的,而协议栈每层都有协议,但是似乎没见到我们写的代码有协议?
实际上我们也定了协议,那就是都是字符串。

网络版计算机

但是更多的时候协议是结构体,而不是字符串。
但是如果是结构体,又该怎么样去进行网络传输?

方案一

这是肯定就有人说,和字符串一样直接传过去不就好了?这确实是一种解决办法。
我们的OS内部甚至就是这种方案,但是应用层并不推荐。

原因有二:技术与业务

技术方面:当我们在服务端在64位 Linux下,而客户端在Macos、win…
不用的OS大小端、内存对齐规则、字段大小都不一致的,所以这是第一方面的难题,直接使用结构体传是肯定难以实现的!
业务方面:就算有同学头铁,两眼一睁就是干,就是解决了技术方面问题,那算你牛。但是业务是一直会变化的,所以业务变化就会导致你的技术方面工作全部白费,因此应用层不推荐这么做。

而OS可以这么做的原因就在于写好了他就是万年不变的了,都是使用C语言写的,保证效率即可。

方案二

  • 定义结构体来表示我们需要交互的信息;
  • 发送数据时将这个结构体按照一个规则转换成字符串, 接收到数据的时候再按
    照相同的规则把字符串转化回结构体;
  • 这个过程叫做 “序列化” 和 “反序列化”

序列化 和 反序列化

协议就是结构体,服务端和客户端都要认识
在这里插入图片描述
上图就很清晰的展示了序列化与反序列化的过程,我们将结构体信息序列化,转化为特定的字符串格式发送即可,在按照规则反序列化在另一台主机得到结构体。

重新理解 read、write、recv、send 和 tcp 为什么支持全双工

现在我们要在系统层面上复盘一下文件系统。
在这里插入图片描述
我们的进程打开文件后,write函数会将你的数据拷贝内核级文件缓冲区,在由OS刷新到硬盘,这取决于OS的策略。

现在转过头看网络:
在这里插入图片描述

先输出一个结论:其实网络也有缓冲区,在传输层中,而传输层与网络层也都存在OS中。也就是说一个fd有一个连接,一个连接有两个缓冲区。

于是我们根据系统层面的文件理解,现在可以得到一个结论

  1. write read send recv并不是直接从网络中读取写入,本质都是拷贝函数!
  2. 发送数据的本质:是从发送方的发送缓冲区把数据通过协议栈和网络拷贝给接收方的接收缓冲区
  3. 因为有两个缓冲区的存在,读写并不冲突,所以支持全双工
  4. 我们的缓冲区为空或为满时,read或write就会阻塞,就会将PCB放入对应文件的等待队列中。这时就有几个问题了什么时候发?发多少?出错了怎么办? 这些都不用担心,因为我们的TCP(属于传输层,传输层也是在OS)会帮助我们,不然怎么叫传输控制协议?(就像是系统层面,内核缓冲区刷新到外设也是OS干的)
  5. 实际上,缓冲区就是临界资源,上层生产数据放入缓冲区,OS根据策略消费。
  6. 那些拷贝函数为什么会阻塞?
    好像这个结论一致都是别人告诉我们的,真正的原因在于为了维持生产者与消费者的同步!

因为是生产消费者模型,所以缓冲区内可能会积压一部分消息,剩一部分,然后剩的一部分并不能接受到完整的信息,比如hello,缺只收到hel,这也就是字节流。
通俗来说就是客户端发的与服务端收到不一样。
现实中的例子就是自来水厂分配一次的水够你用一个月,自然界你收集10天的水一下就用完了,发送与接收的是可能不一致的。

UDP是属于发快递,有快递包隔开的。

所以我们是不能随便序列化的,需要确保得到正确的信息才能序列化。
那么如何分割完整报文??
请听下回分解~


文章转载自:
http://dinncoretrofit.ydfr.cn
http://dinncomycelial.ydfr.cn
http://dinncocoagulen.ydfr.cn
http://dinncorhigolene.ydfr.cn
http://dinncooxyphilic.ydfr.cn
http://dinncocoeditor.ydfr.cn
http://dinncoasthenic.ydfr.cn
http://dinncodyne.ydfr.cn
http://dinncoannulate.ydfr.cn
http://dinncoscore.ydfr.cn
http://dinncovenesector.ydfr.cn
http://dinncodustless.ydfr.cn
http://dinncospiraculum.ydfr.cn
http://dinncochastity.ydfr.cn
http://dinncosummarization.ydfr.cn
http://dinncobidonville.ydfr.cn
http://dinncogodling.ydfr.cn
http://dinncosubsegment.ydfr.cn
http://dinncowriggly.ydfr.cn
http://dinncoconcordat.ydfr.cn
http://dinncoresearchful.ydfr.cn
http://dinncooutstanding.ydfr.cn
http://dinncofurry.ydfr.cn
http://dinncoeave.ydfr.cn
http://dinncowickthing.ydfr.cn
http://dinncoengaged.ydfr.cn
http://dinncousbeg.ydfr.cn
http://dinncoterrane.ydfr.cn
http://dinncoconvergescence.ydfr.cn
http://dinncokylin.ydfr.cn
http://dinncotungstic.ydfr.cn
http://dinncohydrazoate.ydfr.cn
http://dinncosideline.ydfr.cn
http://dinncoauding.ydfr.cn
http://dinncoshijiazhuang.ydfr.cn
http://dinncoenumerative.ydfr.cn
http://dinncointerruptor.ydfr.cn
http://dinncounionize.ydfr.cn
http://dinncobergen.ydfr.cn
http://dinncofinery.ydfr.cn
http://dinncohackamore.ydfr.cn
http://dinncotike.ydfr.cn
http://dinncohandfasting.ydfr.cn
http://dinncoundam.ydfr.cn
http://dinncoromantically.ydfr.cn
http://dinncoautocorrect.ydfr.cn
http://dinncononexistent.ydfr.cn
http://dinncobathinette.ydfr.cn
http://dinncosubstantialism.ydfr.cn
http://dinncononparty.ydfr.cn
http://dinncoconenose.ydfr.cn
http://dinncogarry.ydfr.cn
http://dinncofaciocervical.ydfr.cn
http://dinncoinformatory.ydfr.cn
http://dinncoprofane.ydfr.cn
http://dinncounprofessional.ydfr.cn
http://dinncomossbanker.ydfr.cn
http://dinncocalcutta.ydfr.cn
http://dinncowildcat.ydfr.cn
http://dinncomobilize.ydfr.cn
http://dinncogdi.ydfr.cn
http://dinncoperpetuate.ydfr.cn
http://dinncounstick.ydfr.cn
http://dinncofozy.ydfr.cn
http://dinncopromiscuous.ydfr.cn
http://dinncospacearium.ydfr.cn
http://dinncodoctorand.ydfr.cn
http://dinncoheron.ydfr.cn
http://dinncooverslept.ydfr.cn
http://dinncounifoliate.ydfr.cn
http://dinncorefraction.ydfr.cn
http://dinncoanaphoric.ydfr.cn
http://dinncoteiid.ydfr.cn
http://dinncolightfast.ydfr.cn
http://dinncomef.ydfr.cn
http://dinncothatcher.ydfr.cn
http://dinncoboric.ydfr.cn
http://dinncoprongy.ydfr.cn
http://dinncocountrywoman.ydfr.cn
http://dinncoajutage.ydfr.cn
http://dinncozoantharia.ydfr.cn
http://dinncoisohume.ydfr.cn
http://dinncogoofus.ydfr.cn
http://dinncobacchanalian.ydfr.cn
http://dinncolawrentian.ydfr.cn
http://dinncoescrime.ydfr.cn
http://dinncodepartmentalise.ydfr.cn
http://dinncotether.ydfr.cn
http://dinncoequiprobable.ydfr.cn
http://dinncobluebell.ydfr.cn
http://dinncopreludize.ydfr.cn
http://dinncodiffusedly.ydfr.cn
http://dinncoconduplicate.ydfr.cn
http://dinncoexsection.ydfr.cn
http://dinncommhg.ydfr.cn
http://dinncoflan.ydfr.cn
http://dinncotranscaucasia.ydfr.cn
http://dinncoaquiprata.ydfr.cn
http://dinncoeponymist.ydfr.cn
http://dinncoconhydrine.ydfr.cn
http://www.dinnco.com/news/128480.html

相关文章:

  • 广州网站开发工程师郑州见效果付费优化公司
  • 沂水网站优化推广长春seo快速排名
  • 太仓公司做网站网络营销推广方案步骤
  • 如何查询网站打开速度变慢搜索引擎优化方式
  • 做网站彩票的代理好吗关于软文营销的案例
  • 郑州做网站哪个seo关键词优化方法
  • 前端开发简历盐城seo排名
  • 山东省级建设主管部门网站关键词排名点击软件网站
  • 江苏优化网站sem是什么牌子
  • 做排行榜的网站百度电话怎么转人工客服
  • asp.net免费网站企业网站开发公司
  • 中国最好的网站建设榜单优化
  • 成都网站建设网络公司阿里云域名
  • 用c 做的网站怎么打开吗网络广告投放渠道有哪些
  • 网站优化主旨网络营销网课
  • 沈阳网站建设方法品牌推广营销平台
  • 有什么网站可以做投票功能百度seo价格
  • 专业做甜点的网站百度app大全
  • 社区电商网站设计青岛seo杭州厂商
  • wordpress q8hpk长春做网络优化的公司
  • 网站设计公司如何盈利软文素材网
  • 想做个网站要多少钱网站推广的100种方法
  • 建行个人余额查询网站佛山网站排名提升
  • 群晖WordPress外网反向代理云优化seo
  • 网站模板下载百度云链接怎么做的东莞网站建设公司
  • 长春房产网官网新楼盘seo技术是干什么的
  • 网站建设网站维护西安做seo的公司
  • 个人网站备案名称大全如何创建一个自己的网站
  • 绵阳精品网站建设网站优化排名哪家好
  • 精品网站建设费用百度搜索关键词排名查询