好烦吃不胖
2021-07-14 17:55
采纳率: 100%
浏览 15
已采纳

springwebsocket和http的区别是啥?

 @MessageMapping(GlobalConsts.HELLO_MAPPING)
    @SendTo(GlobalConsts.TOPIC)
    public ServerMessage greeting(ClientMessage message) throws Exception {
        // 模拟延时,以便测试客户端是否在异步工作
        Thread.sleep(1000);
        return new ServerMessage("Hello, " + HtmlUtils.htmlEscape(message.getName()) + "!");
    }

上边,服务端监听MessageMapping里面的url,然后通过SendTo把消息响应到前端对应的事件,这种方式还是需要客户端来触发,后端才能响应一个事件,感觉和http差别不大,除了它能发送给多个客户端。 如果客户端不给一个触发动作,后端是不是就不能主动发消息到前端了? 这和我理解的全双工通信不一样呢。我先在的需求就是后端如何主动发消息给客户端(客户端不主动发消息的前提)? 比如我有个需求,就是后端有个数据库操作,插入数据后我想通知前端拉取新数据,如何实现啊?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

  • Aganstrong 2021-07-14 18:16
    最佳回答

    HTTP是单向的,客户端发送请求,服务器发送响应。
    WebSocket是双向的,在客户端-服务器通信的场景中使用的全双工协议
    它们是两种不同的协议

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题