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

WebSocket 对于手游的意义

WebSocket作为一个HTTP的升级协议,其实对HTTP协议用的不多,主要是消息头相关部分,WebScoket协议最初的动机应该是给网页应用增加一个更贴近实时环境的通讯方式,让某些网页应用得到更佳的通讯质量(双工,低延迟,二进制流,实时性等等)。这种方式在网页游戏或则小程序游戏中得到了非常好的应用,但我想谈的是WebSocket对一般手游或则端游的意义。

我说到这儿,可能很多人都觉得奇怪,一般的手游或则端游都有自己的通讯方式,最常见的就是用Socket实现的通讯,为啥要用WebScoket来替代Scoket?

在我看来,原因很简单,就一个因素就足以抵消所有的疑问:安全!

因为WebScoket是HTTP协议的升级,因此,现在不少CDN服务提供商支持WebScoket,那么对于网络上常见的DDOS攻击,CC攻击,不少CDN提供商是带了DDOS,CC攻击保护的,意思就是,如果采用WebScoket+CDN的方案,面对这类网络攻击,你不需要额外花钱去买高防。唯一的就是CDN流量会给你算钱,但这部分的开销比高防便宜多了。

某里云的服务器在被DDOS攻击之后,会直接给你关黑洞,导致的后果就是服务中断,关小黑屋90分钟,对游戏的影响是显而易见的。特别是一些小厂,收入并不理想的情况下还被黑客勒索。如果不想被黑客勒索,买高防又肉痛,而且还有特别多的限制,比如某里最高的那一档,每天立刻解除小黑屋的机会只有5次,超过5次一样的关小黑屋,那这高防买来有啥意义? 不被黑客勒索被某里收买路钱么?而带DDOS攻击保护的CDN的费用仅仅是高防费用的几分之一甚至十几分之一,单纯从经济角度考虑,替代就势在必行。

一个使用固定带宽服务器的游戏服务端,在转成WebScoket + CDN透传之后,会略微增加流量成本。但好处显而易见,通过CDN做隔离,服务器的真实IP不用暴露,所有的通讯都走CDN,一般的DDOS或则CC攻击在CDN这一层就被拦下,包括一些入侵服务器的行为,在无法得到服务器真实IP的情况下,攻击就无法实施。

最后,在选择有DDOS保护CDN服务的时候,必须向服务商问清楚,是否是每日攻击次数限制、是否会限制被攻击的URL访问、攻击流量怎么洗等等细节。

BTW:这两天和某鹅云的聊天,他们的EO价格便宜,可以支持DDOS,CC防护,CDN被DDOS攻击时,不会限制URL访问,只是被攻击的CDN服务器会下线,但不影响其他用户的访问,而且会把攻击流量洗出来,不纳入计费,只要服务器本机 IP 不被DDOS攻击,就不会有影响。算了一下,每个月几百块钱就可以彻底解决黑客DDOS勒索的问题。

相关文章:

  • CMake学习笔记(三)区分macro与function
  • 钉钉自建应用-下载excel(h5)
  • 插值表达式
  • 【御控物联】JavaScript JSON结构转换(16):对象To数组——综合应用
  • 文件操作详解
  • 蓝桥杯刷题-14-更小的数-区间DP⭐
  • windows or ubuntu mount 文件
  • 初学python记录:力扣1600. 王位继承顺序
  • 【微服务】面试题(一)
  • 鸿蒙原生应用已超4000个!
  • 【三十七】【算法分析与设计】STL 练习,凌波微步,栈和排序,吐泡泡,[HNOI2003]操作系统,优先队列自定义类型
  • 【Frida】【Android】 10_爬虫之WebSocket协议分析
  • LeetCode题练习与总结:螺旋矩阵Ⅱ--59
  • 第十四届蓝桥杯C/C++大学B组题解(一)
  • 智慧港口多场景解决方案(一)
  • 【Leetcode】101. 对称二叉树
  • 2017年终总结、随想
  • DOM的那些事
  • SQLServer插入数据
  • XForms - 更强大的Form
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 精彩代码 vue.js
  • 前言-如何学习区块链
  • 如何编写一个可升级的智能合约
  • 深度解析利用ES6进行Promise封装总结
  • 数组大概知多少
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 微信开源mars源码分析1—上层samples分析
  • NLPIR智能语义技术让大数据挖掘更简单
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • ​queue --- 一个同步的队列类​
  • #includecmath
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (42)STM32——LCD显示屏实验笔记
  • (java)关于Thread的挂起和恢复
  • (javascript)再说document.body.scrollTop的使用问题
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (企业 / 公司项目)前端使用pingyin-pro将汉字转成拼音
  • (转)为C# Windows服务添加安装程序
  • 、写入Shellcode到注册表上线
  • .Net7 环境安装配置
  • .NET开源项目介绍及资源推荐:数据持久层
  • @RunWith注解作用
  • @transactional 方法执行完再commit_当@Transactional遇到@CacheEvict,你的代码是不是有bug!...
  • [145] 二叉树的后序遍历 js
  • [2019.3.20]BZOJ4573 [Zjoi2016]大森林
  • [AIGC 大数据基础]hive浅谈
  • [Android] Android ActivityManager
  • [Angular] 笔记 16:模板驱动表单 - 选择框与选项