Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.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 每次我试图将二进制文件发送到Spring4和Tomcat8中的WebSocket服务器端点时,会话都会关闭_Java_Spring_Websocket_Tomcat8_Spring Websocket - Fatal编程技术网

Java 每次我试图将二进制文件发送到Spring4和Tomcat8中的WebSocket服务器端点时,会话都会关闭

Java 每次我试图将二进制文件发送到Spring4和Tomcat8中的WebSocket服务器端点时,会话都会关闭,java,spring,websocket,tomcat8,spring-websocket,Java,Spring,Websocket,Tomcat8,Spring Websocket,我必须使用webapps A和B,它们都是用SpringMVC在Tomcat8中部署的B/S。当然,我用Java7开发了这些服务器端 我试图通过WebSocket将一些数据从A的服务器端发送到B的服务器端。这些数据约为10k~200k,每2秒发送一次。我认为在这种情况下WebSocket可能比RPC/WebService更好 问题是: 当我使用session.sendText发送短信时,一切正常。但是当我使用session.sendBinary发送数据时,我发现会话总是关闭的。B服务器端B中的s

我必须使用webapps A和B,它们都是用SpringMVC在Tomcat8中部署的B/S。当然,我用Java7开发了这些服务器端

我试图通过WebSocket将一些数据从A的服务器端发送到B的服务器端。这些数据约为10k~200k,每2秒发送一次。我认为在这种情况下WebSocket可能比RPC/WebService更好

问题是: 当我使用session.sendText发送短信时,一切正常。但是当我使用session.sendBinary发送数据时,我发现会话总是关闭的。B服务器端B中的spring日志是websocket服务器端点,接收数据的人如下所示:

00:29:29,191 DEBUG OpenEntityManagerInViewFilter:160 - Opening JPA EntityManager in OpenEntityManagerInViewFilter
00:29:29,191 DEBUG TransactionSynchronizationManager:193 - Bound value [org.springframework.orm.jpa.EntityManagerHolder@107c53da] for key [org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean@25c9b5b9] to thread [http-nio-8081-exec-1]
00:29:29,191 DEBUG TransactionSynchronizationManager:243 - Removed value [org.springframework.orm.jpa.EntityManagerHolder@107c53da] for key [org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean@25c9b5b9] from thread [http-nio-8081-exec-1]
00:29:29,192 DEBUG OpenEntityManagerInViewFilter:185 - Closing JPA EntityManager in OpenEntityManagerInViewFilter
00:29:29,192 DEBUG EntityManagerFactoryUtils:432 - Closing JPA EntityManager
@ServerEndpoint(value = "/report")
public class ReportsWebSocketReceiver {
...
}
每次A尝试发送数据时,B的控制台都会重复打印上面的5行日志。我完全不知道我应该去哪里检查

如果能得到你的帮助,我将不胜感激

-更新-

事实上,我没有太多的配置来使用websocket。 在B端,作为websocket服务器,我在类上有注释,我希望接收如下数据:

00:29:29,191 DEBUG OpenEntityManagerInViewFilter:160 - Opening JPA EntityManager in OpenEntityManagerInViewFilter
00:29:29,191 DEBUG TransactionSynchronizationManager:193 - Bound value [org.springframework.orm.jpa.EntityManagerHolder@107c53da] for key [org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean@25c9b5b9] to thread [http-nio-8081-exec-1]
00:29:29,191 DEBUG TransactionSynchronizationManager:243 - Removed value [org.springframework.orm.jpa.EntityManagerHolder@107c53da] for key [org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean@25c9b5b9] from thread [http-nio-8081-exec-1]
00:29:29,192 DEBUG OpenEntityManagerInViewFilter:185 - Closing JPA EntityManager in OpenEntityManagerInViewFilter
00:29:29,192 DEBUG EntityManagerFactoryUtils:432 - Closing JPA EntityManager
@ServerEndpoint(value = "/report")
public class ReportsWebSocketReceiver {
...
}
在另一方面,我使用ws://[IP:PORT]/[webappName]/report来连接和发送消息

这在连接和发送文本消息时起作用,但在发送二进制消息时不起作用


顺便说一句,如果我在没有spring的Tomcat8中部署receiver类,sendText和sendBinary都可以工作。那么我需要在web.xml或spring.xml中进行更多配置吗?

发布您的完整配置。您好,谢谢您的回复。我更新了更多细节。我发现我可能应该在spring的配置文件中配置更多,因为我的系统中websocket端的reveiver在没有spring的tomcat中运行良好,但我不知道应该配置什么。。。