问题标签 [tyrus]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 在 Openshift 中使用 Tyrus 的 Websocket
我使用 Tyrus 部署了一个 Wildfly 8.1 java 应用程序来管理 websocket 服务器,没什么太复杂的,它只是接收消息并响应消息反转,嗯,它应该可以工作,一切都按照 OpenShift 教程进行,但是在部署时,我明白了rhc 尾部消息:
当我尝试连接到套接字时,我可以连接,但它可以作为它的先前版本工作(没有反转)。
这是Websocket服务器源:
而且,我的服务器来源:
我有点迷茫,不知道还能做什么,似乎 javascript websocket 非常简单并且运行良好,但我需要它 java,因为我将使用该套接字用于 Sphinx CMU。
任何帮助表示赞赏,在此先感谢!
ssl - Websocket SSL 握手失败
我有用于安全 websocket 连接的 spring-boot Tomcat 服务器。服务器接受 Android 4.4、iOS、Firefox 和 Chrome 客户端而不会失败,并带有授权签名的证书。但是,Android 5.0 无法通过 SSL 握手。
我认为问题在于 TLS 或密码套件,因为Android 5.0 Lollipop 发生了变化,而不是证书,因为其他客户端连接,但我不知道如何判断连接的客户端发生了什么,因为SSL Android 似乎不支持调试。该问题可能与此问题非常相似,该问题也尚未解决,但表明问题出在密码套件上。Android 错误88313 81603 developer-preview-1989似乎表明 Android 实现是正确的,但服务器配置或密码套件的实现可能不正确。
我设置了以下服务器密码套件
特别是,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA 在适用于 API 11+的 Android 支持的协议列表中。
我验证了服务器支持这个
返回
openssl 和 java 之间的名称略有不匹配,但openssl 文档说它们是相同的密码套件。
我的服务器首先支持并与与 Android 5.0 兼容的 openssl 客户端协商一个密码套件。我希望 Android 5.0 可以毫无问题地连接,但它失败了。
有没有人成功地将 Android 5.0 安全 websocket 连接连接到 Tomcat?是否有已知可以工作的密码套件?有没有办法调试 Android 客户端 SSL 实现?
更新
网络追踪结果:
当 Android 5.0 设备(Nexus 5)接收到以 4-5 个数据包发送的服务器证书信息时,它会以可变数量 (2-4) 的 ACK 响应,然后是 FIN、ACK。在成功的跟踪中,客户端不发送 FIN。Android 5 客户端不喜欢它从服务器获得的东西。
对于失败,服务器 SSL 调试信息说:
更新 2
这是一个简单的 Tyrus Android 应用程序使用
http - 如何使用 Tyrus java 客户端在初始 WebSocket 客户端请求中包含 cookie?
我正在使用 Tyrus 客户端包从我的 Java 应用程序中使用一个 websocket 端点,该端点在初始客户端请求中需要一个 cookie 标头。浏览 Tyrus 客户端 API 文档和 Google 并没有让我走得太远。任何想法如何去做这件事?
android - 使用 Tyrus websockets 时 Android Studio 出错
我使用 android studio 使用最新的 Tyrus 构建了一个带有 websockets 的 android 应用程序。我已经通过 gradle 包含了这个库,就像 build.gradle 一样
使用 android 定位版本
每次我运行编译按钮时,我都会收到以下错误
我的应用程序基于以下示例
java - Tyrus 服务器可以使用内部类端点吗?
我在让一个极其简单的独立 Tyrus websocket 服务器工作时遇到问题。我已经让它在对我没有意义的非常具体的情况下工作。
正常工作的情况是我定义了一个顶级(在它自己的文件中)服务器端点类并使用@ServerEndpoint 对其进行注释。此类包括使用@OnOpen、@OnMessage 和@OnClose 注释的方法,这些都是典型的东西。我将此类传递给 Server 构造函数。我的简单客户端可以连接到该服务器,并成功发送服务器接收到的消息。
当我将顶级服务器端点类更改为初始化服务器的类的内部类时,就会出现问题(这是我所做的唯一更改)。在这种情况下,我的客户端可以连接并调用客户端的 @OnOpen 方法。但是服务器不会实例化服务器端点,因此它的 @OnOpen 方法永远不会被调用。显然,服务器消息接收不会发生。
Tyrus 是否要求带注释的服务器端点类不能是内部类?如果没有,服务器端点类是否有特定权限(所有内容都已公开,试图让它正常工作)?我在 Mac OSX 1.9.5 上使用 Tyrus 1.9 和 JDK 1.7。
简单服务器(包括并配置为使用失败的内部服务器端点):
简单的客户端:
最后是在服务器使用它时工作的非内部类服务器端点:
java - 在 Websocket 会话中访问 UserAgent?
使用 Java 的“JSR 356 - Java API for WebSocket”的 Tyrus 参考实现,我找不到访问用于 Websocket 升级的 HTTP 连接的方法。因此,我无法访问浏览器发送的 HTTP 标头。
有没有办法读取 HTTP UserAgent 标头?
将“会话”对象转换为“TyrusSession”或类似对象是可以接受的,无论如何我都必须这样做才能获得远程地址。在 Websocket 连接中再次发送 UserAgent 作为消息将是我的后备解决方案。
java - 连接到安全的 websocket
我正在尝试使用 Jetty(或任何其他库)连接到安全的 websocket。
问题是我收到“未找到受信任的证书”错误。我正在使用使用 keytool 生成的自签名证书。可以做些什么?
这是 Tyrus websocket 客户端的尝试,我没有收到 SSL 错误,但它什么也没打印:
相比之下,JS/node 中的这个简单代码有效
我很高兴知道 Java 中有一个工作的 websocket 客户端
java - 最小的 java8 nio 安全 websocket 客户端 (wss)
我花了相当长的时间来寻找可以与 wss 一起使用并且不会一团糟的简单 java websocket 客户端......
我试过https://github.com/TooTallNate/Java-WebSocket
在他描述时添加了依赖项,复制了 SSLClientExample.java 以使用 websocket.org 回显服务器对其进行测试,但在第 84 行出现编译错误,没有这样的方法 setSocket()...(卡在这里)
我尝试了 tyrus(似乎这是一个由 oracle 直接开发的大型库),但似乎我需要运行一些应用服务器(websocket 容器)才能使用它......
我想知道 websockets 有什么困难,以至于需要有 netty 或 glassfish 或 grizly 呢?
我认为可以使用 SSLEngine (wss) 和纯 java sdk 来实现一个……关于 websockets 有什么我不知道的吗?(我想它很像普通的插座)
java - Arduino websocket 客户端和 Tyrus websocket 服务器消息通信问题?
我正在使用以下 Arduino 函数通过 websocket 通信发送数据:
这个函数属于这个 Arduino websocket 客户端实现库。
我使用 Tyrus 项目的 java websocket 服务器代码如下:
上述代码中的 ArduinoEndPoint 类代表了@onMessage、@onOpen 和@onClose 注释方法的简单实现。
我的问题是,当我从 Arduino 发送少于 25 个字符的消息时,它会在服务器上收到,但不会收到所有超过 25 个字符的消息。
Websocket 服务器使用 Tyrus java websocket 客户端实现处理任何消息大小。我在这里缺少什么?
android - Tyrus Websockets Android:无法解析 Lorg/glassfish/tyrus/core/OsgiRegistry
我使用 tyrus-standalone-client.jar 版本 -1.10 让我的 Android 应用程序使用 Web 套接字。
我的堆栈跟踪如下:
研究了一下,一些消息来源说 jar 的版本可能不稳定。所以,我尝试了 1.9 和 1.8.3。问题没有解决。请提出任何稳定版本或任何关于其他可能错误的想法。