在客户端我使用Stomp进行websocket连接,服务器端使用

Spring 4

客户端我做了配置

var socket = new SockJS(urlBase + "/" + contextroot+'/hello');

stompClient = Stomp.over(socket);

下面的代码每2秒执行一次,将数据发送到服务器

stompClient.send('/app/sendRequest/'+indexVal, {},

JSON.stringify({index : simIndex}));

服务器响应以下队列

stompClient.subscribe('/queue/response', processResponseObj);

在服务器端配置完成

消息响应在服务器端

messagingTemplate.convertAndSend("/queue/response",obj);

几秒钟后,我收到错误消息

2014-10-24 16:39:33,869 ERROR et.messaging.SubProtocolWebSocketHandler: 330 - Terminating session id 'dkbzrkxp'

org.springframework.web.socket.handler.SessionLimitExceededException: The send buffer size 1147188 bytes for session 'dkbzrkxp exceeded the allowed limit 1051648

at org.springframework.web.socket.handler.ConcurrentWebSocketSessionDecorator.sessionLimitReached(ConcurrentWebSocketSessionDecorator.java:162) ~[ConcurrentWebSocketSessionDecorator.class:4.0.6.RELEASE]

at org.springframework.web.socket.handler.ConcurrentWebSocketSessionDecorator.checkSessionLimits(ConcurrentWebSocketSessionDecorator.java:150) ~[ConcurrentWebSocketSessionDecorator.class:4.0.6.RELEASE]

at org.springframework.web.socket.handler.ConcurrentWebSocketSessionDecorator.sendMessage(ConcurrentWebSocketSessionDecorator.java:105) ~[ConcurrentWebSocketSessionDecorator.class:4.0.6.RELEASE]

at org.springframework.web.socket.messaging.StompSubProtocolHandler.handleMessageToClient(StompSubProtocolHandler.java:276) ~[StompSubProtocolHandler.class:4.0.6.RELEASE]

at org.springframework.web.socket.messaging.SubProtocolWebSocketHandler.handleMessage(SubProtocolWebSocketHandler.java:326) ~[SubProtocolWebSocketHandler.class:4.0.6.RELEASE]

at org.springframework.messaging.support.ExecutorSubscribableChannel$1.run(ExecutorSubscribableChannel.java:70) [ExecutorSubscribableChannel$1.class:4.0.6.RELEASE]

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.8.0_20]

at java.util.concurrent.ThreadPoolExecutor$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 WARN ort.session.WebSocketServerSockJsSession: 285 - Failed to send SockJS close frame: The remote endpoint was in state [TEXT_PARTIAL_WRITING] which is an invalid state for called method

2014-10-24 16:39:33,875 ERROR et.messaging.SubProtocolWebSocketHandler: 330 - Terminating session id 'nro1ww4x'

org.springframework.web.socket.handler.SessionLimitExceededException: The send buffer size 1147188 bytes for session 'nro1ww4x exceeded the allowed limit 1051648

at org.springframework.web.socket.handler.ConcurrentWebSocketSessionDecorator.sessionLimitReached(ConcurrentWebSocketSessionDecorator.java:162) ~[ConcurrentWebSocketSessionDecorator.class:4.0.6.RELEASE]

at org.springframework.web.socket.handler.ConcurrentWebSocketSessionDecorator.checkSessionLimits(ConcurrentWebSocketSessionDecorator.java:150) ~[ConcurrentWebSocketSessionDecorator.class:4.0.6.RELEASE]

at org.springframework.web.socket.handler.ConcurrentWebSocketSessionDecorator.sendMessage(ConcurrentWebSocketSessionDecorator.java:105) ~[ConcurrentWebSocketSessionDecorator.class:4.0.6.RELEASE]

at org.springframework.web.socket.messaging.StompSubProtocolHandler.handleMessageToClient(StompSubProtocolHandler.java:276) ~[StompSubProtocolHandler.class:4.0.6.RELEASE]

at org.springframework.web.socket.messaging.SubProtocolWebSocketHandler.handleMessage(SubProtocolWebSocketHandler.java:326) ~[SubProtocolWebSocketHandler.class:4.0.6.RELEASE]

at org.springframework.messaging.support.ExecutorSubscribableChannel$1.run(ExecutorSubscribableChannel.java:70) [ExecutorSubscribableChannel$1.class:4.0.6.RELEASE]

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.8.0_20]

at java.util.concurrent.ThreadPoolExecutor$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 WARN ort.session.WebSocketServerSockJsSession: 285 - Failed to send SockJS close frame: The remote endpoint was in state [TEXT_PARTIAL_WRITING] which is an invalid state for called method

2014-10-24 16:39:34,833 ERROR standard.StandardWebSocketHandlerAdapter: 55 - Closing due to exception for WebSocket session id=0

我尝试增加缓冲区大小,但一段时间后它给出相同的异常.一旦达到缓冲区大小.

我认为一旦发送消息,websocket会话缓冲区就不会被释放.

是否有相同的设置要求?

我错过了任何配置吗?

尝试在服务器端配置Web套接字.

在WebSocketConfig类中有这样的东西:

public void configureWebSocketTransport(WebSocketTransportRegistration registration) {

registration.setMessageSizeLimit(500 * 1024);

registration.setSendBufferSizeLimit(1024 * 1024);

registration.setSendTimeLimit(20000);

}

websocket传输数据大小限制_踩踏websocket:发送缓冲区大小超过允许的限制相关推荐

  1. html5 websocket java 聊天室_如何利用WebSocket实现网页版聊天室

    花了将近一周的时间终于完成了利用WebSocket完成网页版聊天室这个小demo,期间还走过了一段"看似弯曲"的道路,但是我想其实也不算是弯路吧,因为你走过的路必将留下你的足迹.这 ...

  2. socket接收与发送缓冲区大小

    1.查看默认设置 转自:https://www.cnblogs.com/x_wukong/p/8444557.html cat /proc/sys/net/core/rmem_max 212992ca ...

  3. 2022-4-11 修改TCP发送缓冲区大小

    设置发送缓冲区的大小 #include<stdio.h> #include<arpa/inet.h> #include<stdlib.h> #include< ...

  4. websocket中发生数据丢失_什么是WebSocket,它与HTTP有何不同?

    今天翻译一篇关于HTTP和WebSocket的文章.HTTP和WebSocket都是客户端-服务器通信中使用的通信协议.文章用几个例子解释了两者的不同以及分别适用在什么应用场景.有些容易混淆的概念(比 ...

  5. websocket如何区分用户_实现:websocket判断用户是否在线

    根据我们之前的介绍,websocket是HTML5中新增的一个协议, 该协议可以实现服务器与客户端之间全双工通信. websocket在实时通信领域运用的比较多,比如社交聊天.弹幕.多玩家游戏.协同编 ...

  6. java 大小固定_为什么Java堆的最大大小是固定的?

    小编典典 最后我知道在Sun的JVM中,必须在连续的地址空间中分配整个堆.我想对于大堆值,很难在启动后将其添加到您的地址空间中,同时又要确保它保持连续.您可能需要在启动时获取它,或者根本不需要.因此, ...

  7. ps如何修改图片大小尺寸_如何查看图片尺寸,大小及如何修改图片尺寸—淘宝美工入门课03...

    上一篇文章给大家分享了一下豆芽常用字体,也提供了下载链接,今天和大家聊聊有关图片尺寸和图片大小相关的问题,主要包含以下这3个方面. 一,如何查看图片的尺寸(像素px) 二,如何改变图片的尺寸 三,了解 ...

  8. java 堆栈大小设置_如何增加Java堆栈的大小?

    如何增加Java堆栈的大小? 我问这个问题是为了了解如何在JVM中增加运行时调用堆栈的大小.我已经得到了这个问题的答案,我还得到了许多有用的答案和评论,涉及到Java如何处理需要大型运行时堆栈的情况. ...

  9. vlc 缓冲大小 设置_用libvlc 播放指定缓冲区中的视频流

    //vlcTest.cpp : 定义控制台应用程序的入口点.//#include"stdafx.h"#include#include"vlc/vlc.h"#in ...

最新文章

  1. 【C++】STL队列和栈的使用
  2. jquery jQuery的入口函数 $函数 dom对象和jquery对象
  3. stm32采集脉冲信号_STM32 TIM 编码器模式采集编码器信号
  4. 导师会指导改matlab程序吗,导师指导记录.docx
  5. Redis分布式快速入门
  6. 【转载】linux进程控制-exec系列 exec系统调用
  7. 一级计算机技术,《一级考试大参考》自动化技术、计算机技术.pdf
  8. 【linux】nohup运行守护进程
  9. TCPIP三次握手详情
  10. block的名词形式_不可数名词的数量表示
  11. 【批处理学习笔记】第二十二课:系统变量
  12. GitHub上14个屌炸天的Java进阶教程、面试真题项目,建议收藏!
  13. HTML5游戏实战 3 60行代码实现水平跑酷游戏
  14. Java知识点笔记(一):how2j.cn的学习(一)
  15. 第三周项目4:穷举法解决组合问题
  16. 【FPGA——工具篇】:Modelsim SE-64 10.4下载、破解、安装过程
  17. 【python实战】不让我复制?看我自制个带文字识别的截屏工具
  18. [2019牛客多校训练第3场]Median
  19. UTONMOS开启元宇宙数字化经济新纪元
  20. 川崎机器人总线通信_川崎机器人Profinet从站设定

热门文章

  1. canvas 绘制雷达效果:扇形区域颜色渐变渲染
  2. extremedb java_实时内存数据库eXtremeDB 在linux系统下的java开发环境搭建
  3. SSIS: 代理执行作业时错误 [364] 没有启动 Messenger 服务 — 将不发送 NetSend 通知...
  4. 代金券【刺激消费者的工具】【日常营销的基本工具】
  5. 关于界面不能预览的问题
  6. cdr mac majave os_教你如何制作macOS Mojave 系统的ISO 安装文件
  7. 华为Kirin985是哪些手机在用?
  8. 基于FPGA的SDRAM控制器设计(二)
  9. 【Java】CMS 垃圾回收 GC
  10. 如何使用ChartControls