初学websocket有感-待研究

2023-12-14 17:16:50

https://www.bilibili.com/video/BV1KN411n7WD/

看到一半的时候就会想到以下的问题:

初学websocket有感-待研究

既然每一个endPoint都是对应着一个服务器和客户端浏览器的连接对象,那么就是说要创建很多个endPoint对象咯。

一、是否回将创建的这么多endPoint对象信息都存储在后端服务器电脑的内存里面?

  • 如果是,那么创建这么多对象会不会导致内存不足的问题?
  • 如果不是,那么存储在什么地方

二、创建这么多endPoint对象是必须的吗?为什么?能不能优化,也就是创建少一点endPoint对象以减少内存存储的大小以达到内存效率最大化?创建这么多endPoint对象会不会有些是多余的(是不是不需要创建这么多endPoint对象)?

思考的方向:

http和websocket的区别,还需要再深刻一下,再度深刻地去探索研究一下

三、既然要创建不止一个endPoint对象,那么必然会有代码体现的地方?是在ChatEndpoint体现吗?到底哪里可以体现呢?是ChatEndpoint这个类体现吗?ChatEndpoint是在那里创建了一个endPoint对象呢?如果仅仅看被Component注解修饰的ChatEndpoint,那么ChatEndpoint对象应该是被spring管理的单例对象才是呀?单例也就是1个呀?哪来这么多个entpoint?那么多个endPoint对象在哪里可以体现呢?(猜一下应该是ServerEndpoint注解等其他注解)

@ServerEndpoint(value = "/chat",configurator = GetHttpSessionConfig.class)
@Component
public class ChatEndpoint {

看完后就会知道视频的是简单化了,也就是问题一可以放数据库里面的,但是视频为了重点讲websocket而把数据库的忽略了,另外也讲所有的上线的用户当作好友了。其他的问题还需要继续深入才行。

https://gitee.com/flowers-bloom-is-the-sea/websocket-demo

文章来源:https://blog.csdn.net/ws_please/article/details/134867944
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。