随便聊聊

我接触过的软件,最早定义为C/S(Client/Server)和B/S(Brower/Server),如今传统意义上的C/S程序已经很少了,其实App和网络游戏还归位这一类。但更多的是B/S程序,基于各种浏览器的各种……有些朋友一直在做客户端的种种,比如说APP、手游客户端或是Web前端,对服务器端的知识很茫然,其实不然,从基础代码结构来讲,现在的客户端也很丰富了,什么MVC、MVVM架构应用都已经很成熟了,本地存储也OK,如sqlite、file什么的,也写过很多与服务器端交互的代码。这篇简单聊聊Web服务器和游戏服务器。

网络&系统

服务器端,最重要的就是网络,网络这块知识,看完《Unix网络编程》就无敌了。从现实工作应用中来看,HTTP、TCP、UDP是应用最广泛的,还有一些特殊的协议。

操作系统层面,需要了解进程、线程,尤其线程方面,再具体到框架实现即可。当然想深深的学习下操作系统也是可以的。。

Web服务器

几乎绝大多数的Web应用都是基于Http的,有空可以看下RFC-2616。Java里有Servlet,Node.js和Scala和Clojure和Golang、Python什么的都有自己的Http封装,PHP里有apache和nginx的CGI,有了这些,就可以解决客户端和服务器端通讯的问题了,服务器端要做的事情很多时候和客户端要做的类似,做一些逻辑处理,做一些持久化操作(数据库),也可能会与外部接口打打交道,然后将结果扔给客户端,基本就大功告成。只是在大架构方面的确需要比客户端健壮些(也可能是我没见过大型游戏)。如果想

web服务器也是端系统么,Web服务器和游戏服务器的那些事儿相关推荐

  1. 小森生活显示无可用服务器,《小森生活》无可用游戏服务器解决教程 无可用网关服务器怎么办...

    导 读 小森生活无可用网关服务器是什么意思?怎么解决?小森生活无可用网关服务器这个提示在进入游戏中会出现哦,很多玩家都无法正常进入游戏怎么解决呢,现在就来告诉给大家详细解决方法吧~ 小森生活无可用游戏 ...

  2. 游戏服务器引擎的设计(一)介绍游戏服务器部署框架

    服务器的架构,根据游戏类型不同大多有:账号服务器.全局服务器.网关服务器.场景服务器.中心服务器.存储服务器,配合其他的服务器(比如日志服,监控服等).传统的游戏是单服模式,现在也有很多的是分布式模式 ...

  3. android 游戏服务器,用于Android / iOS回合制棋盘游戏的游戏服务器

    编辑您将如何进行大型多人游戏? 嗨西里尔, 正如你所注意到的,有两个主要的事情是两个考虑的: >发送到服务器的信息 >发送给客户的信息 只有一种类型的信息要发送到服务器:用户输入.如果你不 ...

  4. 游戏服务器引擎的设计(二)开发游戏服务器底层 及libuv使用

    服务器底层,个人任务认为稳定.高效.易用最重要.如果非要排个序的话 稳定 > 易用 > 高效. 我是用的libuv这个库作为基础支持库的.为啥用它,主要是网络库不想自己写了,有现成的最好. ...

  5. php 多人游戏_「谁会是下一个王者农药」云服务器如何搭建游戏服务器?

    手游越来越火了,听听业内人士的分析,他山之石,多多借鉴,那么手游的服务器到底如何搭建的? 从事游戏服务器开发差不多两年时间,两年间参与了不少项目,学到了很多游戏服务器开发技术,参与过几个不同架构的服务 ...

  6. go hive skynet_MMORPG游戏服务器技术选型参考-Go语言中文社区

    游戏服务器一般追求稳定和效率,所以偏向于保守,使用的技术手段也是以已经过验证.开发人员最熟悉.能HOLD为主要前提. 1.典型按场景分服设计 开发语言: c++ 数据库:mysql 架构: 多个网关: ...

  7. 分布式的客户端-服务器结构_MMORPG游戏服务器技术选型参考

    游戏服务器一般追求稳定和效率,所以偏向于保守,使用的技术手段也是以已经过验证.开发人员最熟悉.能HOLD为主要前提. 1.典型按场景分服设计 开发语言: c++ 数据库:mysql 架构:多个网关:维 ...

  8. 游戏服务器是什么怎么租用

    游戏服务器是什么怎么租用 我是艾西,作为一个常年与游戏行业保持着高频率的服务器供应商,今天我以个人的专业知识以及经验和大家聊聊游戏服务器什么,它的工作原理是怎么与你的pc做交互的!!! 游戏服务器架构 ...

  9. 高性能分布式游戏服务器框架

    欢迎大家Fork mqant开源框架 为什么决定要重新造一个轮子? 目前网上优秀的开源游戏服务器框架也不少(当然与web框架比起来就少太多了),但总结起来都各有各的优缺点,下面列出我在选型过程中的一些 ...

最新文章

  1. 1.2.4 ORACLE_SID的含义
  2. cad 关键字被保留了?选择集关键字保留了? N S W E关键字无法用?
  3. 《Ext JS权威指南》印出来了,大家很快就能拿到书了
  4. QT的QScriptEngineAgent类的使用
  5. 陈松松:三种方式教你打造一个行业内10万视频播放量
  6. 二分查找(java)
  7. sap采购申请自动转采购订单_SAP idoc功能够强大: 采购订单修改自动触发销售订单修改...
  8. 微软不愿意提及的软肋:Win10的语音识别
  9. 用于Linux系统/网络管理的nmap命令的实例
  10. 宋宝华:谈一谈Linux写时拷贝(COW)的安全漏洞(1)
  11. 1-7 华为HCNA认证eNSP基础A
  12. matlab用劳斯判据求k的范围,「精」已知单位负反馈系统的开环传递函数为G=K/s试确定系统稳定时的K值范围...
  13. Windows javaw进程占用cpu资源100% 导致电脑卡顿
  14. mac jupyter notebook 服务似乎挂掉了,但是会立刻重启的
  15. 入职前的背景调查到底在查什么?
  16. java查找文件路径_如何查找java路径?
  17. Android 微信抢红包插件
  18. 原创整理!计算机常用【快捷键、缩写、英语单词】不定更
  19. biti_rainy的blog
  20. Vue点击选中(多选)选中右上角有三角形

热门文章

  1. H5 MediaDevices方法,调用摄像头、屏幕录像功能
  2. mysql之聚簇索引与非聚簇索引
  3. 数学建模:线性规划及 Python 求解
  4. 商务办公软件应用与实践【2】
  5. Spring @Resource详解
  6. Servlet的执行原理
  7. C语言错误 error C2059
  8. Unix/Linux下的Curses库开发指南——第二章 curses库I/O处理
  9. linux安装mysql出现Could NOT find Curses (missing CURSES_LIBRARY CURSES_INCLUDE_PATH),提示解决方法
  10. 使用stl::string去除字符串前后的空白