织梦大气蓝色门户资讯网站模板,怀化职院网站,广州 Wix网站开发,男女激烈做羞羞事网站网站韩剧游戏服务器开发主要是基于socket#xff0c;或者websocket#xff0c;很少采用http#xff08;可能有部分非常轻量级的服务器选择http#xff09;。这是什么原因呢#xff1f;我们先来看看socket与http之间的区别。
socket与http之间的区别 socket与http对比 sockethttpT…游戏服务器开发主要是基于socket或者websocket很少采用http可能有部分非常轻量级的服务器选择http。这是什么原因呢我们先来看看socket与http之间的区别。
socket与http之间的区别
socket与http对比 sockethttpTCP/IP协议工作在传输层工作在应用层链接状态长链接短链接请求无状态通信方向双向通信单项通信基于请求-响应模式数据格式私有协议自定义格式公有协议
选择socket的原因
游戏服务器主要选择socket与客户端进行通信原因无非是选择socket的优势以及选择http的劣势。下面分成几点来解释。
第一http是单向通信基于请求-响应模式。
只能客户端发送请求服务器才能返回推送。这是一个致命缺陷也是游戏服务器不采用http的一个最主要的原因。因为服务器需要经常主动推送消息例如各种icon小红点系统跑马灯等等。当然针对http的单向通信也出现了一些反向ajax技术或者称为服务端推送server side push例如java的第三方依赖cometd。
第二http是无状态短链接的。
http无状态特性决定了每个请求都是独立的。但是很多时候系统是需要状态的客户端不得不通过cookies或者session来记录会话的状态。同时http也是短链接的。服务器甚至不知道请求是否来自于预期的客户端只要有cookies数据参数任何能发送http数据的终端都能模拟客户端数据发送。这也给客户端数据作弊留下后门加大服务器风险。
第三http是公有协议数据包大传输安全性差。
http工作在TCP/IP协议中的应用层具有标准的数据参数格式。服务端传送数据的格式主要是json或者xml这两种格式属于文本格式数据包大。
socket工作在TCP/IP协议中的传输层没有标准协议格式采用私有协议栈设计。服务端客户端之间是通过字节流来传输数据的可以采取一些紧凑的数据格式例如protobuf。也非常方便进行数据加解密。