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 握手 的相关文章

  • Python 的 SignalR 替代方案

    Python 世界中 SignalR 的替代方案是什么 准确地说 我在Windows 8上使用tornado和python 2 7 6 我发现sockjs龙卷风 https github com MrJoes sockjs tornado
  • Autobahn websockets Android 演示崩溃

    我是 websockets 的新手 我一直在使用 Autobahn websocket 来制作一个更大的项目 它在 python 和 js 版本中工作得很好 但我在 Android API 上遇到了麻烦 我正在遵循中的教程http www
  • NodeJS Websocket如何在服务器重新启动时重新连接

    在 Node js 中我使用网络套接字 ws https github com websockets ws用于 WebSocket 连接 以下是客户端的代码 假设我们正在连接的服务器套接字宕机了一分钟 close 事件将会触发 但是每当服务
  • 我可以在浏览器中启动 socket.io/websocket 服务器吗?

    之前有人问过这个问题 答案是否定的 但是现在 有了 browserify webpack 我可以像在服务器上那样编写代码吗 它会在浏览器中运行 还是有任何限制使这变得不可能 你不能 在浏览器中启动服务器需要访问浏览器中根本不存在的低级功能
  • Express-Session、Connect-Redis 和 einaros/ws

    我似乎在让 Express express session connect redis 和 websockets ws 很好地协同工作时遇到了一些麻烦 这很可能与我对这些模块和编码的总体理解还有限有关 这里的大部分代码取自存储库中的相应示例
  • Java websocket 客户端不适用于 GDAX 沙箱环境

    我正在使用 spring WebSocketWebSocketClient连接 GDAX 服务器 它在实时环境中运行良好 但相同的代码不适用于沙箱环境 这是我连接到服务器的代码 public class Test public static
  • 会话复制在多节点集群上的 glassfish 中不起作用

    会话复制在多节点集群上的 glassfish 中不起作用 1 应用程序在 web xml 中包含可分发标签 2 应用程序部署在集群 c1 中 该集群包含同一节点上的 2 个实例 时 会话复制可以正常工作 3 当部署在集群 c2 包含两台 C
  • webpack-dev-server 中的代理 websockets 连接

    是否可以在 webpack 开发服务器中代理 websocket 连接 我知道如何将常规 HTTP 请求代理到另一个后端 但它不适用于 websockets 大概是因为代理配置中的目标以 http 开头 webpack dev server
  • 从 Windows 命令行连接到 websocket

    是否可以从 Windows 命令行连接到 websocket 我已经从 Mac 终端使用了 WSCAT 但我似乎找不到替代方案 任何帮助 将不胜感激 Windows 中没有内置可与 WebSocket 配合使用的工具 虽然你可以使用teln
  • 如何从普通请求调用(即@RequestMapping)调用@SendTo

    我已经使用 Spring MVC 实现了 Web Socket 它对我来说工作得很好 即从一个浏览器工作到另一个浏览器 该浏览器对使用此代码的套接字开放 MessageMapping hello SendTo topic greetings
  • Netty:正确关闭 WebSocket

    如何从服务器端正确关闭 WebSocket 通道 连接 如果我使用一个ctx getChannel close the onerror在浏览器 Firefox 9 中抛出 页面加载时与 ws localhost 8080 websocket
  • 使用服务器发送事件进行双向客户端-服务器通信(而不是 WebSocket)的缺点

    最近 我发现服务器发送事件是 WebSocket 的一种更简单的替代方案 用于从服务器进行推送 大多数比较它们的地方 例如here https stackoverflow com questions 5195452 websockets v
  • 尝试将过滤器添加到 Grizzly+Jersey 应用程序时出现问题

    我有这个服务器初始化类 package magic app main import org glassfish grizzly http server HttpServer import org glassfish jersey grizz
  • nginx 反向代理 websocket

    nginx 现在支持代理 websockets 但我无法找到任何有关如何在没有单独的情况下执行此操作的信息location应用于使用 websocket 的 URI 的块 我见过一些人推荐这种方法的一些变体 location proxy h
  • 通过 Websockets 进行 WebRTC 视频聊天

    我正在尝试使用 webRTC 和 WebSockets 进行信号发送来开发视频聊天应用程序 我的问题是 我不知道创建 RTCPeerConnection 并通过 webSocket 连接两个对等点 2 个浏览器 的过程是什么 至少在本地 我
  • Flask-SocketIO 未使用 Gevent/Gevent-websocket

    我正在使用 Flask 和 Flask SocketIO 构建用于 websocket 通信的 Web 界面 数据 API 我想开始转向使用 Gevent Gevent websocket Gunicorn 以及最终使用 Nginx 进行负
  • 客户端如何获取session id? (网络套接字)

    有什么办法可以做到这一点吗 客户端 function connectWebSocket var socket new SockJS socket stompClient Stomp over socket stompClient conne
  • iOS 中通过 USB 进行反向端口转发

    我在桌面上有一个 Web 套接字服务器 在 iPhone 设备上有一个客户端 我想使用 USB 而不是任何网络与他们通信 我已经使用 adb reverse 在 android 上实现了它 但无法找到适用于 iOS 的任何解决方案 我尝试使
  • 如何等待 WebSocket 就绪状态更改

    我正在尝试实现一个可以回退到轮询的 WebSocket 如果WebSocket连接成功 readyState变为1 但如果失败 readyState是 3 我应该开始轮询 我尝试过这样的事情 var socket new WebSocket
  • WebSocket 无法与 DNS 配合使用

    我有一个网络应用程序 我正在使用 websockets 我在使用 ws myDomain com 作为 websocket 服务器的地址时遇到问题 这个问题很奇怪 因为我使用许多 PC 测试了连接 似乎这适用于大约 1 5 的 PC 当我将

随机推荐