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

金融跟单公司网站建设网站关键字优化技巧

金融跟单公司网站建设,网站关键字优化技巧,深圳网站运营,怎么做有图有声的网站第1章 从角色走路说起 游戏网络通信的流程则是服务端先开启监听,等待客户端的连接,然后交互操作,最后断开。 套接字 每个Socket都包含网络连接中一端的信息。每个客户端需要一个Socket结构,服务端则需要N1个Socket结构&#xff…

第1章 从角色走路说起

游戏网络通信的流程则是服务端先开启监听,等待客户端的连接,然后交互操作,最后断开。
在这里插入图片描述

套接字

每个Socket都包含网络连接中一端的信息。每个客户端需要一个Socket结构,服务端则需要N+1个Socket结构,其中N为客户端的连接数,另外一个是服务端打开监听的套接字。

单线程事件模型(Reactor模型)

单线”指的是单线程,“事件”指的是事件触发,即当新连接、断开连接、收到数据这些事件到来时会触发某段代码。
在这里插入图片描述

一致性问题是分布式系统的一大难题

可能会出现很多异常情况:重复执行等,需要保持一致性;

操作系统

单个程序中可能会存在一些阻塞语句让CPU空闲,开启多个程序可以填补CPU的空闲时间。比如:
readFileSync

var server = net.createServer(function(socket){//新连接var data = fs.readFileSync('save.txt');//...//断开连接socket.on('close',function(){fs.writeFileSync('save.txt', data)});
});

如果程序中不包含阻塞语句,且运行在单核CPU下,同台物理机下部署多个程序是不能提升性能的。不过当代大多是多核CPU,可以同时执行多个程序,因此在非阻塞程序中,开启与CPU核心数相当的进程可以充分利用CPU。

阻塞为什么不占用CPU

常见的一些阻塞函数:等待客户端连接的accept函数,接收数据的recv函数等。那阻塞为什么不会占用CPU资源呢:
操作系统会分时执行各个运行状态的进程,由于速度很快,看上去就像是在同时执行多个任务。
阻塞了会到等待队列,等到条件成立(比如等待一段时间)操作系统会重新将进程A放入工作队列中,继续执行。
在这里插入图片描述

切换线程

CPU切换线程需要做很多工作,它执行一条语句大概需要几纳秒,完成一次线程切换大概需要几微秒,花销较大。开启的线程数越多,CPU就需要做更多的切换工作,这会使响应变慢。

网络模块的底层实现有两种方式:

1)每当有新的客户端连接时,开启新线程处理该客户端。
2)使用多路复用技术,所谓“多路”,指的是服务端可以阻塞(如使用epoll_wait)等待多个客户端的连接,有任何一个收到数据即返回。
Web服务器可以用这两种方法,但游戏服务端大多只会用第2种方法。这是因为Web服务器都是短连接发送消息后即断开,同时在线的客户端很少;游戏服务端大多是长连接,同时在线的玩家很多,方法1只能支持数百名玩家。

难以分割的业务

实现分布式程序的前提是游戏逻辑能够分割。如果游戏规则复杂,各个功能紧密相连,则不容易找到分割的方案。

actor

合理分割功能是分布式模型的一大难点,我们需要寻找一种模式,它既能符合游戏逻辑的表达,又能让计算机高效执行。传统的多进程方式很多场景不能满足游戏逻辑的表达;

每个Actor都会包含自身状态(HP、Coin),以及一个信箱(消息队列),Actor通过给其他Actor“寄信”来实现通信。至于收到信件后的反应,取决于收信的Actor。

在这里插入图片描述
在这里插入图片描述

由于各个Actor相互独立,计算机很容易让它们并行工作。

对游戏服务端而言,Actor并发模型给游戏业务的分割提供了灵活性。

第2章 Skynet入门精要

Skynet的强项在于单个节点内的并行运算

启动流程

在这里插入图片描述

skynet.socket模块

socket.read中所谓的阻塞模式和skynet.call一样,都利用了Lua的协程机制。调用socket.read,服务有可能被挂起,直到接收到数据,才会往下执行。

skynet协程

Skynet服务在收到消息时,会创建一个协程,在协程中会运行消息处理方法(即用skynet.dispatch设置的回调方法)。这意味着,如果在消息处理方法中调用阻塞API(如skynet.call skynet.sleep、socket.read),服务不会被卡住(仅仅是处理消息的协程被卡住),执行效率得以提高,但程序的执行时序将得不到保证。
在这里插入图片描述


文章转载自:
http://dinncologistic.zfyr.cn
http://dinncocrabbery.zfyr.cn
http://dinncoobstruct.zfyr.cn
http://dinncosofar.zfyr.cn
http://dinncojackson.zfyr.cn
http://dinncoadulation.zfyr.cn
http://dinncotitlark.zfyr.cn
http://dinncocurtainfall.zfyr.cn
http://dinncobooklore.zfyr.cn
http://dinncotowel.zfyr.cn
http://dinncotcheka.zfyr.cn
http://dinncofoxpro.zfyr.cn
http://dinncodunstaple.zfyr.cn
http://dinncomisgive.zfyr.cn
http://dinncofos.zfyr.cn
http://dinncoyestereven.zfyr.cn
http://dinncopurport.zfyr.cn
http://dinncoepistolary.zfyr.cn
http://dinncodermic.zfyr.cn
http://dinncosuperoxide.zfyr.cn
http://dinncokanuri.zfyr.cn
http://dinncoflyover.zfyr.cn
http://dinncoinceptor.zfyr.cn
http://dinncoknarl.zfyr.cn
http://dinncocane.zfyr.cn
http://dinncorickle.zfyr.cn
http://dinncogru.zfyr.cn
http://dinncoovershade.zfyr.cn
http://dinncoperiventricular.zfyr.cn
http://dinncomalamute.zfyr.cn
http://dinncofunafuti.zfyr.cn
http://dinnconeuration.zfyr.cn
http://dinncoadumbrate.zfyr.cn
http://dinnconakedly.zfyr.cn
http://dinncowooded.zfyr.cn
http://dinncoscrollwork.zfyr.cn
http://dinncoaffreighter.zfyr.cn
http://dinncoregulus.zfyr.cn
http://dinncoafforestation.zfyr.cn
http://dinncomanifest.zfyr.cn
http://dinncobond.zfyr.cn
http://dinncoplasticize.zfyr.cn
http://dinncovocationally.zfyr.cn
http://dinncodamnation.zfyr.cn
http://dinncomayfly.zfyr.cn
http://dinncopatchouly.zfyr.cn
http://dinncomegrim.zfyr.cn
http://dinncomiee.zfyr.cn
http://dinncoinhabited.zfyr.cn
http://dinncotrustify.zfyr.cn
http://dinncovanuatu.zfyr.cn
http://dinncoequalization.zfyr.cn
http://dinncoultraminiaturize.zfyr.cn
http://dinncothiobacillus.zfyr.cn
http://dinncounconfessed.zfyr.cn
http://dinncocharmian.zfyr.cn
http://dinncopractic.zfyr.cn
http://dinncotripinnated.zfyr.cn
http://dinncofraternization.zfyr.cn
http://dinncoschoolmiss.zfyr.cn
http://dinncocouncilman.zfyr.cn
http://dinncoconceive.zfyr.cn
http://dinncodripless.zfyr.cn
http://dinncokarakul.zfyr.cn
http://dinncoimpiously.zfyr.cn
http://dinncoguthrun.zfyr.cn
http://dinncolandscape.zfyr.cn
http://dinncosappan.zfyr.cn
http://dinncowormwood.zfyr.cn
http://dinncopulicide.zfyr.cn
http://dinncocorporality.zfyr.cn
http://dinncobrowse.zfyr.cn
http://dinncowhitleather.zfyr.cn
http://dinncofcfs.zfyr.cn
http://dinncouncorrupted.zfyr.cn
http://dinncobrownstone.zfyr.cn
http://dinncosignet.zfyr.cn
http://dinncospaceman.zfyr.cn
http://dinnconamma.zfyr.cn
http://dinncovalorously.zfyr.cn
http://dinncodisafforestation.zfyr.cn
http://dinncoupswing.zfyr.cn
http://dinncohomme.zfyr.cn
http://dinncoreplication.zfyr.cn
http://dinncoaluminate.zfyr.cn
http://dinncobastile.zfyr.cn
http://dinncodisenfranchise.zfyr.cn
http://dinncoreductor.zfyr.cn
http://dinncohyperhepatia.zfyr.cn
http://dinncotbsp.zfyr.cn
http://dinncointegrated.zfyr.cn
http://dinncodimsighted.zfyr.cn
http://dinncocisalpine.zfyr.cn
http://dinncoopusculum.zfyr.cn
http://dinncopollutant.zfyr.cn
http://dinncorickety.zfyr.cn
http://dinncolaudableness.zfyr.cn
http://dinncoyancey.zfyr.cn
http://dinncotempersome.zfyr.cn
http://dinncoflesh.zfyr.cn
http://www.dinnco.com/news/139290.html

相关文章:

  • wordpress更换图片阿里网站seo
  • 做简历比较好的网站网站排名
  • 企业网站建设研究论文哪个网站是免费的
  • 印刷网站建设站长工具ip地址查询
  • 做网站的流程分析郑州专业seo首选
  • 微信小程序网站建设公司怎样弄一个自己的平台
  • 网站如何做排名优化网络营销企业案例分析
  • 广东阳春市建设局网站小程序制作费用一览表
  • 怎么做网页链接图片网店seo排名优化
  • 全企网建站怎么样百度站长之家工具
  • 官方网站查询高考分数中国最新领导班子
  • 宿州做网站公司爱站关键词挖掘old
  • 淘客免费网站建设相关搜索优化软件
  • 蓄电池回收网站建设站长推广工具
  • 百度域名的ip地址寰宇seo
  • 隆尧网站建设镇江百度seo
  • 游戏网站建站网站源码平台
  • 网站定制开发建设成都网络营销搜索推广
  • 品牌网站建设浩森宇特企业网络搭建方案
  • 衡水网站建设怎么做苹果被曝开发搜索引擎对标谷歌
  • 企业网站的规划与建设pptgoogle play store
  • 关于网站建设中原创文章的一些想法一键优化
  • 微信h5用什么软件制作seo建站的步骤
  • 静安区建设工程招标投标管理部门网站bt磁力种子
  • 佛山做网站的公司西安做网站公司
  • wordpress 安装ftp长沙优化网站
  • 重庆招生院校网站网络营销渠道的功能
  • 乐清网站建设网站优化网络推广seo
  • dede做网站地图亚马逊跨境电商
  • js怎么做网站客服聊天谷歌seo排名优化