Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Tyrus服务器端点@OnMessage方法未触发_Java_Websocket_Java 7_Tyrus - Fatal编程技术网

Java Tyrus服务器端点@OnMessage方法未触发

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客户端

我试图使用Tyrus 1.8.3和javax.websocket API运行一个简单的websocket示例,下面是一个指南

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

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

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

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

我已在此处将所有代码上载到github: 可以在日志文件夹中查看日志文件

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


非常感谢

您正在使用哪个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上