当前位置: 首页 > 知识库问答 >
问题:

spring Stomp Websocket-太大的发送消息产生1009错误并断开连接

刘承悦
2023-03-14

我使用的是spring Stomp Websocket框架。我已经将websocket配置为使用更大的(从服务器传出?)如http://stackoverflow.com/questions/34343235/stomp-spring-web-socket-message-expers-size-limit中所述的消息,但当我使用有效负载大于64 Kb的“send”命令(向服务器传入消息)时,似乎仍然会出错

1009 Reason: Text message size [82998] exceeds maximum size [65536]  

现有配置看起来像

@Configuration
public class WebSocketConfig extends WebSocketMessageBrokerConfigurationSupport {

    @Override
    public void configureWebSocketTransport(WebSocketTransportRegistration registry) {
    registry.setMessageSizeLimit(MAX_TEXT_MESSAGE_SIZE);
    registry.setSendBufferSizeLimit(BUFFER_SIZE);
    super.configureWebSocketTransport(registry);
   }
}

我用spring·Java Stomp客户端发送有效载荷。

似乎需要对websocket服务器或Java spring websocket客户端进行额外配置,以允许“发送”较大的消息。

我很感激你帮我找出我缺少的配置。

共有1个答案

国仰岳
2023-03-14

您需要在客户端添加贝娄配置

    final WebSocketContainer webSocketContainer = ContainerProvider.getWebSocketContainer();
    webSocketContainer.setDefaultMaxBinaryMessageBufferSize(maxBinaryBufferSize);
    webSocketContainer.setDefaultMaxTextMessageBufferSize(maxTextBufferSize);
 类似资料:
  • 问题内容: 当上面的代码运行时,它会在line上产生错误;。为什么? 问题答案: 不能表示为32位整数(类型)。可以将其表示为64位整数(类型)。Java中的长文字以“ L”结尾:

  • 我正在使用postman查看Twilio中发送消息api的响应格式。我使用的Api是https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Messages。我已经输入了基本的身份验证参数(帐户\u Sid和AuthToken作为用户名和密码),json请求格式为 但我得到的错误是21603,上面写着“需要一个‘发件人’电话号码”。你能告诉我

  • 我有一个批处理作业,它将一天触发一次。要求是 使用该时间点上关于Kafka主题的所有可用消息 处理消息 如果进程已成功完成,则提交偏移量。 当前,我poll()while循环中的消息,直到ConsumerRecords.isEmpty()为true。当ConsumerRecords.isEmpty()为true时,我假设Topic在该时间点的所有可用记录都已被使用。应用程序维护偏移量并关闭kafk

  • 我订阅了 在我的例子中,用户没有通过身份验证,但从这里 虽然用户目标通常意味着一个经过身份验证的用户,但它并不是严格要求的。不与经过身份验证的用户关联的WebSocket会话可以订阅用户目的地。在这种情况下,@sendtouser注释的行为与broadcast=false完全相同,即只针对发送正在处理的消息的会话。 未捕获此异常。所以我尝试使用直接将其发送给用户。 我基本上想做的是: 某些内容应该

  • 我正在处理一封使用phpmailer类的Web邮件。问题是我收到错误“SMTP错误:无法连接到SMTP主机。邮件未发送PHP邮件错误:SMTP错误:无法连接到SMTP主机。” 我的代码是: 有人想让我知道我错在哪里,我需要你对这个问题的关注。

  • 问题内容: 我最近尝试使用sftp访问我的linux机器,在那里我实现了自己的简单外壳。并且我设置了除root用户以外的其他用户默认使用我的shell(通过编辑/ etc / passwd文件)。然后问题出现了,一旦我尝试通过sftp访问,我将收到一条消息:“接收的消息太长:”,我搜索了解决方案,一种解决方案是将该用户的默认shell改回普通的bash shell。我试过了,而且奏效了,问题在于,