我通过GlassFish
4 使用套接字服务器构建游戏。
我遇到的问题是,
每次建立套接字连接时,我的@ServerEndpoint类都会重新实例化。
我基本上只是在寻找启动GlassFish
4服务器的类,类似于在Tomcat
中编写Servlet。我只需要一个地方初始化我的游戏状态,我认为服务器端点就是那个地方,但是它重新初始化我的游戏状态每次我打开它的连接(这显然有问题)。
我可以将我的游戏状态容器编写为单例或使用静态初始化程序的静态类,但我会喜欢避免这两种情况并且实例化我的游戏状态容器中的所有,我猜正在侦听Web套接字连接的类?
在我读过的glassfish教程中,我无法找到类似的东西。
答案 0 :(得分:0)
我找到了解决方法。我没有用“静态最终版”声明我的数据结构。只做“私人HashMap<> x;”每次打开新连接时都会导致“x”重新实例化。
“private static final HashMap<> x;”看起来它阻止了这样做。