普通服务器和游戏服务器工作原理有什么不同?

一般的网站应用程序采用的模式是Request-Response,然后通过tcp和服务器建立一次链接,请求的数据是通过http协议进行重新组装,服务器端和客户端完成一次交互之后,就会释放tcp链接,新的客户端就可以使用服务器端的socket资源。web程序的扩展相对来说比价容易,在行业中,比较常用的方法是硬件负载均衡和添加web服务器。

网络游戏就不一样了,它比较突出的一点是客户端和服务器端要进行比较长时间的连接,几乎是不间断的。游戏服务器的原理是Client主动给Server发送数据,Server也可能主动往Client发送数据,每次发送的数据比较少,但是频率比较高,和常见的Request-Response模式不同。因为需要长时间的连接,所以服务器端的socket是不能重复使用的,单台服务器处理请求是会有限。也不太适合使用web的方案解决扩展问题,因为在web程序中,客户端是没有数据交互的,数据都是通过web服务器响应给客户端的,但是游戏服务器中,每个客户端的数据都在时刻的变化,这些都需要通过服务器端广播给其他客户端。所以客户端会有上限,这也就是为什么服务器要进行分区,一个区里面同时在线人数会有限制。

新春三月 无论您做哪个行业 选择靠谱的合作商

鼎峰科技  做您身边最有质量最有保障的服务器商

为您的互联网创业保驾护航

机房千万家 稳定第一家

香港服务器交流QQ:1771705466(我不是华仔)   企业:3002030162

原文地址:https://www.cnblogs.com/a990321/p/10728776.html

时间: 2024-11-08 15:06:04

普通服务器和游戏服务器工作原理有什么不同?的相关文章

关于网站服务器与游戏服务器的一些常用端口介绍

关于网站服务器与游戏服务器的一些常用端口介绍 如何正确使用服务器里的网站与游戏端口?规避防火墙策略的影响及保护网站与游戏的正常运行.以及服务器安全的一些简单方法,介绍一下我在工作中遇到的这些情况,及相关的想法. 工具/原料服务器.游戏.安全方法/步骤 一.先介绍一下网站与游戏使用的常用端口 网站常用的端口是80和8080,游戏常用是6000-10000这个范围内,一般程序或管理人员都是这样设置的,我在工作中也经常见到很多的客户使用这些游戏端口. 二.介绍一下IDC防火墙中默认的防护端口 无论哪一

FPS游戏服务器设计的问题 【转】

一.追溯 去gameloft笔试,有一个题目是说: 叫你去设计一个FPS(第一人称射击游戏),你是要用TCP呢还是要用UDP,说明理由 . 二.学习 这是两篇网上找到的文章,写非常不错. 当时笔试的时候自己没想到这么全,但大概想法都是一致的,摘录下来再学习一下. 1.网络游戏程序员须知 UDP vs TCP 作者:[email protected] 首发链接:http://blog.csdn.net/rellikt/archive/2010/08/21/5829020.aspx 这篇教程让我们就

同一世界服务器架构--Erlang游戏服务器

Erlang最大的优点是方便,很多基础功能都已经集成到Erlang语言中.之前用C++写服务器的时候,管理TCP连接很繁琐,需要写一大堆代码来实现.底层的框架需要写很多代码实现,这样既浪费时间,又会有很多BUG.但是用Erlang就方便多了,底层的一切你都不需要考虑,你只需要考虑,服务器的架构以及业务逻辑.从此让你彻底从底层的泥潭中解脱.我从去年年底开始了解学习Erlang,到现在我已经彻底爱上了Erlang.好了,废话不多说,开始详细介绍下我设计的这个服务器架构吧. 首先看下整个架构的布局,如

erlang 游戏服务器开发

http://blog.csdn.net/slmeng2002/article/details/5532771 最近关注erlang游戏服务器开发  erlang大牛写的游戏服务器值得参考 介绍本文以我的OpenPoker项目为例子,讲述了一个构建超强伸缩性的在线多游戏玩家系统.OpenPoker是一个超强多玩家纸牌服务器,具有容错.负载均衡和无限伸缩性等特性.源代码位于我的个人站点上,大概10,000行代码,其中1/3是测试代码. 在OpenPoker最终版本敲定之前我做了大量调研,我尝试了D

教你从头写游戏服务器框架

本文由云+社区发表 作者:韩伟 前言 大概已经有差不多一年没写技术文章了,原因是今年投入了一些具体游戏项目的开发.这些新的游戏项目,比较接近独立游戏的开发方式.我觉得公司的"祖传"服务器框架技术不太适合,所以从头写了一个游戏服务器端的框架,以便获得更好的开发效率和灵活性.现在项目将近上线,有时间就想总结一下,这样一个游戏服务器框架的设计和实现过程. 这个框架的基本运行环境是 Linux ,采用 C++ 编写.为了能在各种环境上运行和使用,所以采用了 gcc 4.8 这个"古老

腾讯高级工程师:如何从头开始写游戏服务器框架_转

转自: 腾讯高级工程师:如何从头开始写游戏服务器框架 本文作者:韩伟,腾讯互娱高级工程师,目前在 Next 产品中心研发创新类型游戏. 前言:从去年开始作者投入了一些具体游戏项目的开发,这些新的游戏项目,比较接近独立游戏的开发方式.在这个过程中,作者从头写了一个游戏服务器端的框架,以便获得更好的开发效率和灵活性.因此这篇文章便是该项目服务器框架的设计和实现过程的总结. PS:框架的基本运行环境是 Linux ,采用 C++ 编写.为了能在各种环境上运行和使用,采用了 gcc4.8 这个“古老”的

关于优化游戏服务器响应客户端消息的一点思考

现在假设有如下构建的游戏服务器,游戏服务器有一组gate服务器,用来验证客户端,并且通过gate服务器来与一组主服务器,然后主服务器与关系服务器进行通信. 其中relation服务器用来处理各种关系,例如好友关系,师徒关系等.现在有一个玩家A添加玩家B为好友,那么客户端发送给服务端的消息流程如上所示.首先gate收到客户端消息,进行验证等,然后转发给Main1服务器, 这里假设玩家A的信息存储在Main1服务器上,然后Main1服务器检测玩家A的各种要求,如果满足要求,则将消息转发给Main2服

PHP的工作原理以及lamp四者之间的关系

最近搭建服务器,突然感觉lamp之间到底是怎么工作的,或者是怎么联系起来?平时只是写程序,重来没有思考过他们之间的工作原理,借这个机会赶集恶补一下这个知识. l:即操作系统,也就是建立在电脑硬件基础上的最底层的东西,相当于:国家这个概念,而win或者linux就相当于不同的国家 a:就是web服务器,这个服务器 相当于国家领导人:主席,起到指导作用. m:就是数据库,存储数据的地方,相当 银行 p:就是php,相当于下属,做事情的人 也就是说php是apache的一个外挂程序,必须依靠web服务

简介web服务器的工作原理

一 什么是web服务器,应用服务器和web容器? 对于web服务器与应用服务器:"在过去它们是有区别的,但是这两个不同的分类慢慢地合并了,而如今在大多在情况下和使用中可以把它们看成一个整体." 但是当有人说到"web服务器"时,你通常要把它认为是以HTTP为核心.web UI为向导的应用. 当有人说到"应用服务器"时,你需要想到"高负载.企业级特性.事务和队列.多通道通信(HTTP和更多的协议)". 在Java方面,web容器