首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我应该在前端投票,还是在后端通过websocket发送?

在前端投票还是在后端通过websocket发送,这取决于具体的需求和场景。

前端投票适用于需要实时展示投票结果、即时更新页面内容的情况。前端可以通过使用JavaScript等前端技术,将投票结果实时展示给用户,无需刷新页面。这种方式可以提供更好的用户体验,并且减轻后端服务器的负载。在前端投票时,可以使用前端框架如React、Vue等来简化开发过程。

后端通过websocket发送适用于需要实时推送投票结果给多个客户端的情况。通过websocket,后端可以主动推送最新的投票结果给所有连接的客户端,客户端无需主动请求。这种方式适用于需要实时同步投票结果的场景,例如实时竞拍、实时投票等。在后端通过websocket发送时,可以使用后端框架如Node.js、Django等来简化开发过程。

综上所述,选择前端投票还是后端通过websocket发送,需要根据具体需求来决定。如果需要实时展示投票结果并提供良好的用户体验,可以选择前端投票;如果需要实时推送投票结果给多个客户端,可以选择后端通过websocket发送。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

js 长轮询_websocket挂载到vue上

但是Web中,由于浏览器的限制,实现即时通讯需要借助一些方法。这种限制出现的主要原因是,一般的Web通信都是浏览器先发送请求到服务器,服务器再进行响应完成数据的现实更新。...它们大体可以分为两类,一种是HTTP基础上实现的,包括短轮询、comet和SSE;另一种不是HTTP基础上实现是,即WebSocket。下面分别介绍一下这四种轮询方式,以及它们各自的优缺点。...所以就有了轮询,长轮询,以及websock的出现 轮询 既然想要实时获取后端的数据,那我就每隔2秒给后端发一次请求 这种我们就叫轮询~那它会有一些缺点就是存在延时~就算每秒发一次~也会存在一定的延迟...)` } }) } window.onload = function () { setInterval(get_vote, 2000) } index.html 长轮询 轮询缺点就是延迟,那么如果前端发送过来请求...websocket是一个协议,协议规定 连接的时候需要握手,发送的数据需要加密~~连接之后不断开 Flask不带websocket,我们需要下载 下载:pip install gevent-websocket

2.9K10

WebSocket系列之如何建立和维护可靠的连接

概述 通过前四篇博客,相信读者对于WebSocket的使用和数据(不论是ArrayBuffer还是String)传输都有了一个深刻的了解。...现在我们来介绍下,使用WebSocket时,连接相关模块遇到的一些共性问题,以及我们如何解决这些问题。...一个特定的时间间隔中,客户端向后端发送一条数据,同时后端也回复相关的数据(后端回复是用来检测网络和后端是否正常工作)。 目前使用的心跳间隔为45秒,即间隔45秒就像后端发送一个心跳包。...如果你遇到前端建立的WebSocket连接在间隔比较短的时间就被后端主动断开(即触发close事件),而前端没有触发任何关闭操作,可以检查下后端相关的时间配置项。...总结 本文通过总结在线上生产环节中遇到的WebSocket相关的连接问题,给大家提供一些经验的总结合参考。 如果大家遇到相关的问题或者难题,可以根据上面方案进行尝试,同时也欢迎留言或者私信进行探讨。

3K10

记一次 websocket 实战,“没有拿到回执呀”

实战中需求是这样的: web 前端 A1 与后端 C1 建立 websocket,等后端 C2 推送给 C1 一个 callBack 消息后,C1 再将这个消息推回给 A1,最后 A1 拿到这个回执后渲染界面...脑图如下: 实战代码 弄清需求后,就开始刷刷刷写代码了✍(这里实现 web 前端 A1 的逻辑) 此处通过wss://echo.websocket.org 来模拟连接地址: 重点说明: 因为拿到 回执...callBack 后前端就主动断开了,所以断开分为:【正常断开】和【异常断开】; 异常断开要有重连机制,正常断开不用; 要有心跳发送机制;每隔 10 s 发送(send)一个 'ping' 到后端;...,还是后端发更好?...逐层理解的过程中,就会对 websocket 有新的认识~ 要点整理 通过这次实战,也梳理了些概念点: WebSocket 与 HTTP 和 HTTPS 使用相同的 TCP 端口; RFC 6455

37020

【ASP.NET Core 基础知识】--前端开发--使用ASP.NET Core和JavaScript进行通信

示例:使用AJAX从后端获取数据并在前端显示 AJAX(Asynchronous JavaScript and XML)是一种不重新加载整个页面的情况下与服务器交换数据的技术。...ASP.NET Core中,我们可以使用AJAX从后端获取数据,并在前端显示。...当页面加载时,JavaScript代码会向后端发送一个GET请求,并将返回的数据显示页面上。...在前端页面中使用AJAX请求数据 接下来,您可以在前端页面中使用JavaScript和AJAX发送请求来获取后端API返回的数据。...页面加载后,它将通过AJAX请求从后端API端点获取用户信息,并将其显示页面上。 通过这个简单的示例,您可以了解如何在ASP.NET Core中使用AJAX与后端进行通信。

11900

【十五】springboot整合WebSocket实现聊天室

首先先展示一下效果图(随便弄的,界面比较丑陋): 再展示一下的目录结构(前端用的HbuilderX): 前端就一个html文件,引用的线上的...的唯一标识,后面私聊时通过这个唯一标识发送消息给对应的websocket连接。...后端的改造到此结束,下面介绍前端的代码。 第二步:创建前端html文件 <!...2、js代码 为了简便,又为了每个websocket的用户名唯一,直接使用的随机数,新建websocket实例里面,新增一个username参数的传递。...新增一个用户列表点击功能,点击时,将输入框显示如下,便于私聊: 发送按钮,获取要发送的数据,将数据包装好,调用websocket的send方法发送后端后端通过OnMessage注解的方法进行处理

11610

【Node.js】论一个低配版Web实时通信库是如何实现的1( WebSocket篇)

引论 simple-socket是写的一个"低配版"的Web实时通信工具(相对于Socket.io),参考了相关源码和资料的基础上,实现了前后端实时互通的基本功能 选用了WebSocket ->server-sent-event...的报文结构 接下来要讲的是后端怎么进行websocket消息的发送和接收。...; }); 通过WebSocket前端发送消息 根据上文容易联想,既然接收消息要解析帧,那么发送消息也肯定要把数据封装成帧再发送对不对~~ 看代码 WebSocket帧的封装 // 接收数据并返回Socket...正如上一条所示,websocket的服务端,你不能直接通过socket.write(String)或者socket.write(Buffer)去写数据,而是要手动先把数据封装成帧,才能发送过去...服务端发送websocket数据帧时,要确保FIN为1(表示最后一个帧)。

1.6K20

再谈 websocket 论架构设计

翻译: 客户端与服务器端交互的web应用中,websocket最适合在高频率低延迟的场景下,进行事件的交换和处理 此段来源于spring websocket的官方文档 了解以上知识后,举出几个比较常见的场景...应用场景 应用背景 2016年,公司与同事一起讨论和开发了公司内部的客服系统,由于前端技能的不足,很多通讯方面的问题,无法亲自调试前端来解决问题。...因为公司技术架构体系以前后端分离为主,故前端无法协助后端调试,后端无法协助前端调试 加上websocket为公司刚启用的协议,了解的人不多,导致前后端调试问题重重。...一年后的今天,打算将前端重温,自己来调试一下前后端,来发掘一下之前联调的问题. 当然,前端只是考虑stomp.js和sockt.js的使用。...的前端,并不通过注解方法进行流转。

2K11

cillian-paltform开发分享

最近这两天自己的这个运维开发平台项目前后端的大致的框架算是完成了,接下来6月就是开源自己的第一个公开测试版本,并完成细节部分。有读者朋友问是否开源,肯定是会开源的。...期间也有读者私信讲对于华为前端组件库OpenTiny和以及开箱即用的后台管理系统框架Vben-Admin感兴趣,也正在学习中,非常欢迎互相交流,因为很多问题是越辩越明,而且觉得自己沟通交流方面还是很欠缺...今天就是简单分享一下前端的大致模块以及后端代码目录部分,工作之余开发时间比较少(投入不够),所以实质性的功能模块开发还是比较少(开发能力欠缺),现在就是类似搭积木,搭了个大致框架。...通过 WebSocket 连接,服务器也可以主动推送消息给客户端,如其他用户的登录信息等。 4. 通过 WebSocket 可以实现多个客户端连接到同一个 webshell 实例,以实现多用户协作。...WebSocket 发送输出 } func wsHandler(ws *websocket.Conn) { // 开启 goroutine 接收 ws 消息 // 执行对应操作 } func main

15020

SpringBoot集成WebSocket的基本实现

前言 WebSocket的用途是什么? 想象一个场景,有一些数据实时变化,前端需要在数据变化时刷新界面 此时我们第一反应,前端定时使用HTTP协议调用后端接口,刷新界面。OK,需求实现,下班回家!...就需要用到WebSocket后端将数据推送给前端 正文 具体实现 一、引入依赖 org.springframework.boot 二、配置WebSocket 创建一个config类,配置类代码为固定写法,主要用于告诉SpringBoot有使用WebSocket的需求, 注意加了@ServerEndpoint注解的类 //ServerEndpointExporter...CopyOnWriteArraySet webSocketSet = new CopyOnWriteArraySet(); //与某个客户端的连接会话,需要通过它来给客户端发送数据...看我三下五除二,要不就是@Component注解没加,要不就是SpringBoot启动类的扫描路径有问题,根本难不倒 ?都加了啊,为什么还是不行啊?

74520

几行代码,竟然就能做个聊天室!

WebSocket 只是收发消息时 模拟 了 Socket 的实现而已。 实现 搞清楚原理后,咱们的聊天室就做完了,大家下期再见!...之前一直在用 Java 的 Vertx 和 Netty,但前天直播的时候只是想做一个很简单的工具,就不打算用 Java 这种强类型语言了,而是选择了对前端同学更友好的 Node.js,用一个 JS...大致的步骤就是这样: 使用 Express 新建一个 Node.js 服务,保证基本的后端能启动 新建一个前端页面,写出发送消息的界面,并且让后端提供页面的访问能力 页面长这样 前后端整合 Socket.IO...不过这只是最基础的聊天室 Demo,要真做一个企业级的聊天室,背后的门道还是非常多的。...最近打算做个小工具,所以前两天也直播带大家玩了一下 Socket.IO 这个库,实现了实时监控视频下评论的功能,效果如下: 竟然还有同学企图通过评论区的消息来攻击的监控后台哈哈,离谱!

2K20

websocket后端数据实时更新(前端+后端)

做的项目中需要将后端提供的数据展示在前端页面,一开始是用JS的setInterval()方法,设置一个时间,每过时间发起一次ajax请求。...")//主要是将目前的类定义成一个websocket服务器端, 注解的值将被用于监听用户连接的终端访问URL地址,客户端可以通过这个URL来连接到WebSocket服务器端 @Component @EnableScheduling.../** * 与某个客户端的连接会话,需要通过它来给客户端发送数据 */ private Session session; public static CopyOnWriteArraySet...,这里写了个定时任务,定时任务用的是cron表达式,不懂的同学可以上这个网址学习:cron表达式) ​ @Slf4j @Component public class IndexScheduled {...: 前端的代码非常的简单,直接上代码。

2.7K30

What?纯Java居然能实现Xshell!

后端实现 由于xterm只要只是实现了前端的样式,并不能真正地实现与服务器交互,与服务器交互主要还是靠我们Java后端来进行控制的,所以我们从后端开始,使用jsch+websocket实现这部分内容。...WebSSH的业务逻辑实现(核心) 刚才我们实现了websocket的配置,都是一些死代码,实现了接口再根据自身需求即可实现,现在我们将进行后端主要业务逻辑的实现,实现这个逻辑之前,我们先来想想,WebSSH...这里做了一个总结: 1.首先我们得先连接上终端(初始化连接) 2.其次我们的服务端需要处理来自前端的消息(接收并处理前端消息) 3.我们需要将终端返回的消息回写到前端(数据回写前端) 4.关闭连接 根据这四个需求...websocket发送前端 public void sendMessage(WebSocketSession session, byte[] buffer) throws IOException...接下来我们将进行前端的实现。 前端实现 前端工作主要分为这么几个步骤: 页面的实现 连接WebSocket并完成数据的接收并回写 数据的发送 所以我们一步一步来实现它。

2.4K10

再见,xShell,自己用Java撸一个Web版的,网友直呼:666

后端实现 由于xterm只要只是实现了前端的样式,并不能真正地实现与服务器交互,与服务器交互主要还是靠我们Java后端来进行控制的,所以我们从后端开始,使用jsch+websocket实现这部分内容。...WebSSH的业务逻辑实现(核心) 刚才我们实现了websocket的配置,都是一些死代码,实现了接口再根据自身需求即可实现,现在我们将进行后端主要业务逻辑的实现,实现这个逻辑之前,我们先来想想,WebSSH...这里做了一个总结: 1.首先我们得先连接上终端(初始化连接) 2.其次我们的服务端需要处理来自前端的消息(接收并处理前端消息) 3.我们需要将终端返回的消息回写到前端(数据回写前端) 4.关闭连接 根据这四个需求...websocket发送前端 public void sendMessage(WebSocketSession session, byte[] buffer) throws IOException {...接下来我们将进行前端的实现。 前端实现 前端工作主要分为这么几个步骤: 页面的实现 连接WebSocket并完成数据的接收并回写 数据的发送 所以我们一步一步来实现它。

72930

开发小同学的骚操作,还好被我发现了

团队的后端开发小 c 拿到需求后就去调研了,最后打算采用 Spring Boot Starter 快速整合 Websocket 来实现,接受前端某个用户传来的消息后,转发到接受消息的用户的会话,并在数据库中记录...看到这里,本能地感到疑惑:为什么要引入这个库?为什么前端要生成唯一 id? 难道。。。是作为私信消息的 id? 果不其然,通过这个库在前端给每个消息生成了一个唯一 id,然后发送后端。...首先,这么做的确 能够满足需求 ,所以我还是通过了代码审查;但严格意义上来说,让前端来生成唯一 id 其实不够优雅,可能会有一些问题。...但一般情况下,个人会更建议将业务逻辑统一放到后端实现,这么做的好处有很多: 后端更容易保证数据的安全性,可以对数据先进行校验再生成 id 前端尽量避免进行复杂的计算,而是交给后端,可以提升整体的性能...职责分离,前端专注于页面展示,后端专注于业务,而不是双方都要维护一套业务逻辑 举个典型的例子,比如前端下拉框内要展示一些可选项。

10010

实现一个基于 Spring Boot 和 Vue.js 的实时消息推送系统

现代互联网应用中,实时消息推送已经成为一个非常重要的功能。不论是即时通讯、通知系统,还是其他需要实时互动的应用场景,消息的实时性直接影响到用户的体验和应用的效率。...技术栈 为了实现上述功能,我们需要使用以下技术: 后端:Spring Boot、WebSocket、MySQL、Redis 前端:Vue.js、SockJS、STOMP 关键概念介绍 正式开始实现之前...这样,无论是服务器向客户端推送消息,还是客户端向服务器发送数据,都能做到实时、低延迟。 2....WebSocket 配置 首先,我们需要配置 WebSocket,以便实现消息的实时推送。 Spring Boot 中,我们可以通过 WebSocketConfig 类来进行配置。...前端部分需要实现 WebSocket 的连接和消息的发送与接收。

8800

干货 | 长连接websocketSSE等主流服务器推送技术比较

作者简介 本文由携程市场营销研发部武艺嫱和王宇星以及张子祥共同撰写,武艺嫱市场营销研发部负责前端,王宇星和张子祥市场营销研发部负责java后端。...(轮询示意图) 通过递归的方法,获取到数据后每隔一定时间再次发送请求,这样虽然无法保证两次请求间隔为指定时间,但是获取的数据顺序得到保证。...轮询 服务器部署 × √ × 浏览器兼容性 × × √ 后端推送 √ √ × Websocket需要服务器重新部署,sse可以利用原先的http协议,而我们项目是高级浏览器环境,场景是需要服务器单向发送给客户端...2、刷新页面原先推送过来的消息消失了 因为通过redis和本地缓存对比的时候没有区别所以不会推送,这里前端设置一个随机数num,存入本地缓存时key值多加了num的区分。 ?...如果需要多条双向数据实时交互或需要二进制传输,推荐websocket。 对于还要考虑低版本浏览器,那么还是用轮询来实现功能。

3K80

干货 | 长连接websocketSSE等主流服务器推送技术比较

作者简介 本文由携程市场营销研发部武艺嫱和王宇星以及张子祥共同撰写,武艺嫱市场营销研发部负责前端,王宇星和张子祥市场营销研发部负责java后端。...(轮询示意图) 通过递归的方法,获取到数据后每隔一定时间再次发送请求,这样虽然无法保证两次请求间隔为指定时间,但是获取的数据顺序得到保证。...轮询 服务器部署 × √ × 浏览器兼容性 × × √ 后端推送 √ √ × Websocket需要服务器重新部署,sse可以利用原先的http协议,而我们项目是高级浏览器环境,场景是需要服务器单向发送给客户端...2、刷新页面原先推送过来的消息消失了 因为通过redis和本地缓存对比的时候没有区别所以不会推送,这里前端设置一个随机数num,存入本地缓存时key值多加了num的区分。 ?...如果需要多条双向数据实时交互或需要二进制传输,推荐websocket。 对于还要考虑低版本浏览器,那么还是用轮询来实现功能。

3.1K30

花1块钱让你的网站支持 ChatGPT

产品分析 之前有自己的博客中做过一个简单的 WebSocket 聊天功能[11],而在 AI 对话这个需求中,前端 UI 部分基本上可以参考着WebSocket 聊天功能改改,工作量不是很大,主要工作量还是在前后端的逻辑和对接上面...所以前后端交互主要还是靠 HTTP 接口对接。...前后端交互 对于前端来说,我们通常关注的是,后端发了什么数据,后端反馈给我什么数据。所以,前端关注点之一就是用户的输入,用上面的例子说,爱因斯坦是谁?和他做了什么贡献?...这是因为使用 Pipe 输出时,后端没有记录 AI 答复的文本,考虑到前端已经处理了文本,这里就由前端做一次反馈,把本次 AI 答复的内容完整回传给后端后端再更新 session 中存储的对话信息,...,实际产品中可能要考虑的会更多,或者应该在后端自行处理 session 内容,而不是依靠前端的反馈。

2.8K92
领券