Websocket 灰熊/玻璃鱼-无法建立网袋握手

Websocket 灰熊/玻璃鱼-无法建立网袋握手,websocket,glassfish-3,grizzly,Websocket,Glassfish 3,Grizzly,我正试图让网袋在灰熊/玻璃鱼上面工作。我已经克隆、构建并部署到Glassfish 3.1.2。但是,我无法连接WebSocket。WebSocket握手失败,因为我得到了405(不允许使用方法)响应。这是有意义的,因为Servlet中包含以下内容: public class WebSocketsServlet extends HttpServlet { private final ChatApplication app = new ChatApplication(); @Ov

我正试图让网袋在灰熊/玻璃鱼上面工作。我已经克隆、构建并部署到Glassfish 3.1.2。但是,我无法连接WebSocket。WebSocket握手失败,因为我得到了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方法中实现握手逻辑?

您似乎没有启用websocket支持(默认情况下禁用)

发出以下命令,然后重新启动服务器:

asadmin set configs.config.server config.network config.protocols.protocol.http-listener-1.http.websockets support enabled=true


您可以将http-listener-1替换为您希望启用WS-support的任何http侦听器。

我试图在glassfish 3.1.2上使用grizzly-websockets-chat-2.1.9.war,但出现了相同的错误

遵循本页的建议

哪些州使用此处找到的版本(我认为该版本将表明其较旧,但文件上的时间戳为2012年1月30日):

战争

来源

通过使用那场战争,一切都起作用了

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

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

注意配置>默认配置>。。。也有同样的选择


您可能会发现这比保留一个终端更复杂。

我尝试设置配置选项并重新启动服务器,但仍然从Glassfish服务器收到405响应。我也收到了此错误,WebSocket连接到“ws://localhost:8080/WebSocket-1/message”失败:意外响应代码:404,glassfis v:4+1当我正在处理这个问题时。。。我刚刚找到了解决方案…太棒了,谢谢。我在grizzly邮件列表上发布了一条消息,发现GlassFish3.x不支持grizzly的2.x行。愚蠢的小事。。。