WebSocket是一种在单个TCP连接上进行全双工通信的协议,允许服务端主动向客户端推送数据。
最近在开发 MoeCTF
中的 公告实时推送
功能,本来想通过 轮询
实现,但是想了一下 轮询
是客户端主动向服务端发送请求,如果单个用户感觉还行,但如果在线的用户过多均通过 轮询
的方式进行请求,容易造成大量无用请求,从而导致负载过高。
WebSocket是一种在单个TCP连接上进行全双工通信的协议,允许服务端主动向客户端推送数据。
最近在开发 MoeCTF
中的 公告实时推送
功能,本来想通过 轮询
实现,但是想了一下 轮询
是客户端主动向服务端发送请求,如果单个用户感觉还行,但如果在线的用户过多均通过 轮询
的方式进行请求,容易造成大量无用请求,从而导致负载过高。
平台开发选用了最熟悉的语言 PHP
,最终选择使用 ThinkPHP
进行开发,后端均返回 JSON
数据,前端通过 ajax
进行实时渲染页面,陆陆续续开发了近一周的时间。
由于 MoeCTF
定位是 (小) 团队内部训练平台,所以没有进行任何优化 (其实是不会优化,但是尽量减少冗余代码啦,性能就不提了。