Grizzly / Glassfish - 无法建立 websockets 握手

2024-01-31

我正在尝试让 WebSockets 在 Grizzly / Glassfish 之上工作。我已经克隆了示例 WebSockets 聊天应用程序 http://java.net/projects/grizzly/sources/git/show/samples/websockets/chat,构建它并将其部署到 Glassfish 3.1.2。但是,我无法连接 WebSocket。 WebSockets 握手失败,因为我收到 405(方法不允许)响应。这是有道理的,因为 Servlet 中的内容如下:

public class WebSocketsServlet extends HttpServlet {

    private final ChatApplication app = new ChatApplication();

    @Override
    public void init(ServletConfig config) throws ServletException {
        WebSocketEngine.getEngine().register(app);
    }

    @Override
    public void destroy() {
        WebSocketEngine.getEngine().unregister(app);
    }
}

没有指定 doGet 方法,所以我想知道是否需要在某处进行更多配置,或者是否需要自己在 servlet doGet 方法中实现握手逻辑?


我试图在 glassfish 3.1.2 上使用 grizzly-websockets-chat-2.1.9.war 并得到相同的错误。

遵循此页面的建议http://www.java.net/forum/topic/glassfish/glassfish/websocket-connection-not-builting-glasshfish-server-how-fix-it-0 http://www.java.net/forum/topic/glassfish/glassfish/websocket-connection-not-establishing-glasshfish-server-how-fix-it-0

其中指出使用此处找到的版本(我认为该版本会表明它较旧,但文件上的时间戳是 2012 年 1 月 30 日):

WAR

SOURCES

通过利用这场战争,一切都会顺利进行。

对于那些喜欢使用 glassfish Web 控制台的人。您可以通过以下方式启用网络套接字:

配置 > 服务器配置 > 网络配置 > 协议 > http-listener-1,然后 HTTP 选项卡 > 滚动到底部并选中 Websockets 支持。

注意 Configurations > default-config > ... 也有相同的选项

您可能会发现这个更大的大陆周围有一个终端。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Grizzly / Glassfish - 无法建立 websockets 握手 的相关文章

随机推荐