Java Tyrus服务器端点@OnMessage方法未触发
我试图使用Tyrus 1.8.3和javax.websocket API运行一个简单的websocket示例,下面是一个指南 使用注释,我创建了一个简单的服务器端点和一个客户端端点,它触发一个带注释的方法with@OnOpen正确地但是,当我从客户端发送消息时,服务器端不会触发带有@OnMessage的方法 有趣的是,在onOpen上创建的会话id在客户端和服务器之间有所不同。我不明白为什么,我认为这可能与问题有关?如果会话ID不相同-只有一个会话 我还编写了一个简单的Javascript客户端来连接到同一个服务器端点,这也不会触发@OnMessage方法,因此我怀疑服务器端存在问题 我已将日志级别提高到罚款,因为在信息级别没有任何报告。从日志来看,websocket升级成功,连接打开正常。客户端和服务器上都会抛出javax.naming.NoInitialContextException,但我不确定这是否相关 我已在此处将所有代码上载到github: 可以在日志文件夹中查看日志文件 有谁能给我一些指导如何追踪这个问题的原因吗Java Tyrus服务器端点@OnMessage方法未触发,java,websocket,java-7,tyrus,Java,Websocket,Java 7,Tyrus,我试图使用Tyrus 1.8.3和javax.websocket API运行一个简单的websocket示例,下面是一个指南 使用注释,我创建了一个简单的服务器端点和一个客户端端点,它触发一个带注释的方法with@OnOpen正确地但是,当我从客户端发送消息时,服务器端不会触发带有@OnMessage的方法 有趣的是,在onOpen上创建的会话id在客户端和服务器之间有所不同。我不明白为什么,我认为这可能与问题有关?如果会话ID不相同-只有一个会话 我还编写了一个简单的Javascript客户端
非常感谢 您正在使用哪个JDK?我试过JDK1.7和1.8,它们都对我有用。我看到服务器端的onMessage被调用了,我使用的是1.7JDK。。。。出于兴趣,我说客户端和服务器上记录的会话id应该是相同的对吗?不,你不是;会话id只是本地标识符,不包含在websocket协议定义中。关于JDK,你能分享更多吗?操作系统/特定版本/。。。?我在Mac 10.10.1上使用了1.7.0_72,但希望这不重要。java版本1.7.0_03 JavaTM SE运行时环境构建1.7.0_03-b05 java HotSpotTM 64位服务器VM构建22.1-b02,混合模式运行在Windows 7上