客户端使用Stomp进行web套接字连接,在服务器端使用
Spring 4
客户端是我设定的
var socket=new sockjs (urlbase '/' context root '/hello ' );
stomp客户端=stomp.over (socket );
以下代码每2秒运行一次,并将数据发送到服务器
stomp client.send ('/app/send请求/' index val,{},
JSON.stringify ({ index : simindex } );
服务器响应以下队列
stomp client.subscribe ('/queue/response ',processResponseObj );
服务器端配置已完成
消息响应在服务器端
messaging template.convertandsend (/queue/response ',obj );
几秒钟后,收到错误信息
2014-10-2416336039336033,869 erroret.messaging.subprotocolwebsockethandler :330 -终端会话id ' dkbzrkxxixion
org.spring framework.web.socket.handler.sessionlimitexceedexception : thesendbuffersize 1147188 bytesforsession ' des
atorg.spring framework.web.socket.handler.concurrentwebsocketsessiondecorator.sessionlimitreached ()
atorg.spring framework.web.socket.handler.concurrentwebsocketsessiondecorator.checksessionlimits ()
atorg.spring framework.web.socket.handler.concurrentwebsocketsessiondecorator.sendmessage ((concurrentwebsocketsetsesesesage
atorg.spring framework.web.socket.messaging.stompsubprotocolhandler.handlemessagetoclient (
atorg.spring framework.web.socket.messaging.subprotocolwebsockethandler.handle message (subprotocolwebsockethandler
atorg.spring framework.messaging.support.executorsubscribablechannel $1. run (executorsubscribablechannel.Java 336666 )
at Java.util.concurrent.thread pool executor.run worker (unknown source ) [na:1.8.0_20]
at Java.util.concurrent.thread pool executor $ worker.run (unknown source ) [na:1.8.0_20]
at Java.lang.thread.run (unknown source ) [na:1.8.0_20]
2014-10-24 16:39:33、871 warnort.session.websocketserversockjssession 3360285-failedtosendsockjscloseframe 3360
2014-10-2416336039336033,875 erroret.messaging.subprotocolwebsockethandler :330 -终端会话id ' nro1ww 440
org.spring framework.web.socket.handler.sessionlimitexceedexception : thesendbuffersize 1147188 bytesforsession ' nonnnnors
atorg.spring framework.web.socket.handler.concurrentwebsocketsessiondecorator.sessionlimitreached ()
atorg.spring framework.web.socket.handler.concurrentwebsocketsessiondecorator.checksessionlimits ()
atorg.spring framework.web.socket.handler.concurrentwebsocketsessiondecorator.sendmessage ((concurrentwebsocketsetsesesesage
atorg.spring framework.web.socket.messaging.stompsubprotocolhandler.handlemessagetoclient (
atorg.spring framework.web.socket.messaging.subprotocolwebsockethandler.handle message (subprotocolwebsockethandler
atorg.spring framework.messaging.support.executorsubscribablechannel $1. run (executorsubscribablechannel.Java 336666 )
at Java.util.concurrent.thread pool executor.run worker (unknown source ) [na:1.8.0_20]
at Java.util.concurrent.thread pool executor $ worker.run (unknown source ) [na:1.8.0_20]
at Java.lang.thread.run (unknown source ) [na:1.8.0_20]
2014-10-24 16:39:33、876 warnort.session.websocketserversockjssession 3360285-failedtosendsockjscloseframe 3360
2014-10-2416336039336034,833 error standard.standardwebsockethandleradapter :55-closingduetoexceptionforwebsocket
试图增加缓冲区大小,但过一会儿会发生相同的异常。 当达到缓冲区大小时
我认为发送一次消息不会释放websocket会话缓冲区。
有同样的设定要求吗?
我错过了什么安排吗?
尝试在服务器端配置Web套接字。
WebSocketConfig类包括:
publicvoidconfigurewebsockettransport (websockettransportregistrationregistration ) {
registration.setmessagesizelimit (500 * 1024;
registration.setsendbuffersizelimit (1024 * 1024 );
registration.setsendtimelimit (20000;
}