gpt4 book ai didi

websocket - Grizzly/Glassfish - 无法建立 websockets 握手

转载 作者:行者123 更新时间:2023-12-04 05:51:53 25 4
gpt4 key购买 nike

我正在尝试让 WebSockets 在 Grizzly/Glassfish 之上工作。我已经克隆了 the sample WebSockets chat application ,构建它并将其部署到 Glassfish 3.1.2。但是,我无法让 WebSockets 连接。 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-establishing-glasshfish-server-how-fix-it-0

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

war

https://maven.java.net/service/local/artifact/maven/redirect?r=releases&g=com.sun.grizzly.samples&a=grizzly-websockets-chat&v=1.9.46&e=war

来源

https://maven.java.net/service/local/artifact/maven/redirect?r=releases&g=com.sun.grizzly.samples&a=grizzly-websockets-chat&v=1.9.46&e=jar&c=sources

通过使用那场 war ,一切正常。

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

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

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

你可能会发现这 block 大陆更多的是保留一个终端。

关于websocket - Grizzly/Glassfish - 无法建立 websockets 握手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9964716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com