zoukankan      html  css  js  c++  java
  • websocket设置传输大小

    tomcat中有提到:

    If the application does not define a MessageHandler.Partial for incoming text messages, any incoming text messages must be buffered so the entire message can be delivered in a single call to the registered MessageHandler.
    Whole for text messages. The default buffer size for text messages is 8192 bytes. This may be changed for a web application by setting the servlet context initialization parameter org.apache.tomcat.websocket.
    textBufferSize to the desired value in bytes.

    1、对项目web.xml添加如下配置(注意单位为byte)
    <context-param>
        <param-name>org.apache.tomcat.websocket.textBufferSize</param-name>
        <param-value>5242800</param-value>
    </context-param>

    2、对于spring工程来说这个方法没问题可以生效,但是springboot并没有web.xml该如何解决呢?如下:

    @Configuration
    @ComponentScan
    @EnableAutoConfiguration
    public class WebSocketConfig implements ServletContextInitializer{
        
        //配置websocket传输大小,50M
        @Override
        public void onStartup(ServletContext servletContext) throws ServletException {
            servletContext.addListener(WebAppRootListener.class);
            servletContext.setInitParameter("org.apache.tomcat.websocket.textBufferSize","52428800");
            servletContext.setInitParameter("org.apache.tomcat.websocket.binaryBufferSize","52428800");
        }
    }

    注意:在使用的时候还发现了一个问题,如上配置假如是以springboot内置tomcat启动是没有问题的,但是打成war后使用外置tomcat运行却不生效,最终发现是因为外置tomcat版本问题,出问题的版本是tomcat8.0.xx,而使用tomcat8.5.xx就没有这个问题了

    参考链接:https://blog.csdn.net/luohualiushui1/article/details/86596754

  • 相关阅读:
    css 水平垂直居中总结
    计算机网络之应用层详解
    WPF 中 InitializeComponent 不存在解决方案
    [翻译]lithium 快速上手(QuickStart)
    [翻译]lithium 安装
    [翻译]lithium介绍
    [模板]离散化
    [总结]中位数及带权中位数问题
    [总结]Floyd算法及其应用
    [模板]SPFA判负环
  • 原文地址:https://www.cnblogs.com/qiantao/p/13576441.html
Copyright © 2011-2022 走看看