如果返回成功 , Websocket就会回调onopen事件
游戏服务器的使用的TCP协议,是在协议的包头使用4Byte来声明本协议长度,然后将协议一次性发送 。但是在WS协议是通过Frame形式发送的,会将一条消息分为几个frame,按照先后顺序传输出去 。这样做会有几个好处:
websocket的协议格式:
参数说明如下:
阿里云的SLB开启HTTP监听后,会检查过往的Request和Response请求 , 收到服务器返回的Response后 , 会往Response插入一个Cookie
客户端收到服务器的Response后 , 可以在Header中查到有个“Set-Cookie”字段,里面是SLB插入的Cookie值
客户端断开连接后 , 下次发送请求需要往Headers插入Cookie字段
分别在阿里云的两台ECS实例上部署WS服务器,打开8000端口,开启一个SLB服务,SLB服务选择HTTP方式监听,并且打开会话保持功能,Cookie处理方式选择植入Cookie 。Demo服务器没有做HTTP健康监听的处理,健康检查这块可以先关掉 。
在两台ECS上启动WS服务器,然后本地运行客户端 , 分别测试两台服务器是否能正常连接,测试完毕后 , 测试SLB能否正常工作 。服务器和SLB都正常的情况下,运行客户端,客户端会得到以下结果
收到的三次Cookie都相同 , 说明Cookie是有正常植入工作的,并且三次都被SLB正确抓取了 。
收到的三次serverId也都是同样的值 , 说明三次都是同一个ECS上的服务器响应 。
至此 , 验证成功 。
Websocket+SLB会话保持能够解决超时重连和切换网络时重连的问题 。
参考:
阿里云会话保持
解答Wi-Fi与4G网络切换的困惑
WebSocket的实现原理
阿里云SLB对WebSocket的支持
HTTP Headers和Cookie
【go语言服务器负载均衡 golang服务器用什么框架】关于go语言服务器负载均衡和golang服务器用什么框架的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- python编程爬虫工程师,python爬虫月薪多少
- html5之手机网页游戏下载,手机h5游戏专用浏览器
- 早餐店该如何运转营销,早餐店该如何运转营销呢
- vb.net不规则界面 vb窗体显示不全
- postgre查询所有字段类型的简单介绍
- 地球太空模拟ios,模拟太空下载
- word标尺怎么打开,word里面怎么打开标尺
- vb.net下拉选项卡 vb combo下拉列表
- c语言编程象棋,c语言象棋源代码