热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

javabuffersize单位,JavaSockJSSpring客户端和消息大小

使用SockJSjava客户端,我正在尝试连接到Springsockjs服务器,并且获得了大约20Kb的消息(没有标头)的错误1009.Javascript库工作正常.Transp

使用SockJS java客户端,我正在尝试连接到Spring sockjs服务器,并且获得了大约20Kb的消息(没有标头)的错误1009. Javascript库工作正常.

Transport closed with CloseStatus[code=1009, reason=The decoded text message was too big

for the output buffer and the endpoint does not support partial messages] in WebSocketClientSockJsSession

[id='9fa30eb453e14a8c8612e1064640646a, url=ws://127.0.0.1:8083/user]

我在服务器上有几个配置类(如果我配置这些东西的次数超过必要的话,我现在还不知道):

@Configuration

@EnableWebSocket

public class WebSocketTransportConfig implements WebSocketConfigurer {

// Important web socket setup. If big message is coming through, it may overflow the buffer and this will lead in disconnect.

// All messages that are coming through normally (including snapshots) must be order of magnitude smaller, or connection will be broken

// sometimes

// There is also MaxBinaryMessageSize that we do not employ as we use Stomp, but for completeness it is also set to same values.

// Javadoc http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/socket/adapter/jetty/JettyWebSocketSession.html#setTextMessageSizeLimit-int-

public static final int MAX_TEXT_MESSAGE_SIZE = 2048000; // 2 Megabytes.

public static final int BUFFER_SIZE = MAX_TEXT_MESSAGE_SIZE * 5;

private static final Logger LOGGER = LogManager.getLogger(WebSocketTransportConfig.class);

@Override

public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {

}

@Bean

public DefaultHandshakeHandler handshakeHandler() {

LOGGER.info("Websocket buffer size: " + BUFFER_SIZE + " bytes.");

WebSocketPolicy policy = new WebSocketPolicy(WebSocketBehavior.SERVER);

policy.setMaxTextMessageBufferSize(BUFFER_SIZE);

policy.setMaxTextMessageSize(MAX_TEXT_MESSAGE_SIZE);

policy.setMaxBinaryMessageBufferSize(BUFFER_SIZE);

policy.setMaxBinaryMessageSize(MAX_TEXT_MESSAGE_SIZE);

policy.setInputBufferSize( BUFFER_SIZE);

policy.setIdleTimeout(600000);

return new DefaultHandshakeHandler(

new JettyRequestUpgradeStrategy(new WebSocketServerFactory(policy)));

}

}

@Configuration

@EnableWebSocketMessageBroker

@EnableScheduling

public class WebSocketBrokerConfig extends WebSocketMessageBrokerConfigurationSupport implements WebSocketMessageBrokerConfigurer {

@Override

public void configureWebSocketTransport(WebSocketTransportRegistration registry) {

// Increase buffers.

// Too little buffers may result in fatal errros when transmitting relatively large messages.

registry.setMessageSizeLimit(WebSocketTransportConfig.MAX_TEXT_MESSAGE_SIZE);

registry.setSendBufferSizeLimit(WebSocketTransportConfig.BUFFER_SIZE);

super.configureWebSocketTransport(registry);

}

}

根据Stomp spring web socket message exceeds size limit应该有帮助,但在连接Java Spring SockJS客户端时,我仍然得到错误1009(太大的消息).

因此我怀疑我可能有以下两个问题之一:

> Java SockJS客户端也必须配置为RECEIVE更大的消息.

>或者,我仍然在服务器上配置错误.

如何在Java SockJS Spring客户端上增加缓冲区大小?



推荐阅读
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • JSP内置对象之application的作用范围和获取方式
    本文介绍了JSP内置对象之application的作用时间范围、可以在不同浏览器获取的特点,以及获取application对象的方法。通过示例代码展示了在JSP中设置和在servlet中获取application对象的步骤。对于学习JSP内置对象的读者来说,本文具有一定的参考价值。摘要长度为163字。 ... [详细]
  • 移动端常用单位——rem的使用方法和注意事项
    本文介绍了移动端常用的单位rem的使用方法和注意事项,包括px、%、em、vw、vh等其他常用单位的比较。同时还介绍了如何通过JS获取视口宽度并动态调整rem的值,以适应不同设备的屏幕大小。此外,还提到了rem目前在移动端的主流地位。 ... [详细]
  • 本文介绍了解决Netty拆包粘包问题的一种方法——使用特殊结束符。在通讯过程中,客户端和服务器协商定义一个特殊的分隔符号,只要没有发送分隔符号,就代表一条数据没有结束。文章还提供了服务端的示例代码。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • 本文讨论了在VMWARE5.1的虚拟服务器Windows Server 2008R2上安装oracle 10g客户端时出现的问题,并提供了解决方法。错误日志显示了异常访问违例,通过分析日志中的问题帧,找到了解决问题的线索。文章详细介绍了解决方法,帮助读者顺利安装oracle 10g客户端。 ... [详细]
  • 如何在HTML中获取鼠标的当前位置
    本文介绍了在HTML中获取鼠标当前位置的三种方法,分别是相对于屏幕的位置、相对于窗口的位置以及考虑了页面滚动因素的位置。通过这些方法可以准确获取鼠标的坐标信息。 ... [详细]
author-avatar
山寨西域刀羊_281
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有