0

我正在尝试使用 Tyrus 1.8.3 和 javax.websocket API 运行一个简单的 websocket 示例,遵循https://blog.openshift.com/how-to-build-java-websocket-applications-using-the-jsr- 356-api/作为指南。

使用注释,我创建了一个简单的服务器端点和一个客户端端点,它们正确地触发了一个用@OnOpen 注释的方法。但是,当我从客户端发送消息时,带有 @OnMessage 的方法不会在服务器端触发。

有趣的是,在 onOpen 创建的会话 id 在客户端和服务器之间是不同的。我不明白为什么,并认为这可能与问题有关?如果会话 ID 不同 - 只有一个会话...

我还编写了一个简单的 Javascript 客户端来连接到同一个服务器端点,这也不会触发 @OnMessage 方法,所以我怀疑服务器端存在问题。

我已将日志级别提高到 FINE,因为在 INFO 级别没有报告任何内容。从日志看来,websocket 升级成功并且连接打开正常。Ajavax.naming.NoInitialContextException在客户端和服务器上都被抛出,但我不确定这是否相关......

我已将所有代码上传到 github:https
://github.com/stephenhartley/websocket-demo 日志文件可以在日志文件夹中查看。

谁能给我一些指导如何追踪这个问题的原因?

非常感谢!

4

0 回答 0