会话上的Jetty 9 WebSocket服务器最大消息大小

桑耶夫

我遇到了这个问题,并且在任何地方都很难找到答案,所以我想我会在这里输入供将来的程序员使用。

在Jetty 9中,如果您尝试在会话对象上设置最大消息大小以处理较大的数据包,则它将不起作用。如果您的客户端尝试发送大数据,您仍然会断开连接。我正在谈论此对象上的setMaximimumMessageSize:http : //download.eclipse.org/jetty/stable-9/apidocs/org/eclipse/jetty/websocket/api/Session.html

相反,您要做的是在从WebSocketServletFactory获取的策略对象上设置最大消息大小。

public final class MyWebSocketServlet extends WebSocketServlet
{
    private static final long MAX_MESSAGE_SIZE = 1000000;

    @Override
    public void configure(WebSocketServletFactory factory)
    {
        factory.getPolicy().setMaxMessageSize(MAX_MESSAGE_SIZE);
        factory.setCreator(new MyWebSocketCreator());
    }
}

这将按预期工作,并且您的服务器将能够处理不超过您设置的最大大小的大型邮件。

乔基姆·埃德菲尔特(Joakim Erdfelt)

WebSocketServlet正确设置最大消息的方式。

您在javadoc中指出的Session.setMaximumMessageSize(long)不幸地泄漏了JSR-356(javax.websocket API)工作的早期草案。

Jetty端API上的该方法不应该存在,并且已在Jetty 9.1中删除。

错误已提交:https : //bugs.eclipse.org/bugs/show_bug.cgi?id=412439

注意:Jetty 9.1将支持JSR-356(javax.websocket API)。其中javax.websocket.Session具有2种行为类似的方法。

  • javax.websocket.Session.setMaxBinaryMessageBufferSize(int)
  • javax.websocket.Session.setMaxTextMessageBufferSize(int)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

会话上的Jetty 9 WebSocket服务器最大消息大小

来自分类Dev

更改Jetty 9服务器中已建立会话的会话ID

来自分类Dev

嵌入式 Jetty 9 - 我需要 Websocket 服务器、REST Servlet 和文件服务器

来自分类Dev

无法在Firefox 50上通过SSL连接到Jetty 9服务器

来自分类Dev

Cloud 9 IDE上的Rails服务器被杀死

来自分类Dev

在服务器上运行 DotNetNuke 9 时出错

来自分类常见问题

在Android的Java Websocket服务器上收到消息时未创建Toast消息

来自分类Dev

邮件会话资源JNDI查找中Jetty 9中的NameNotfoundException

来自分类Dev

Jelastic和Jetty 9上的SSL

来自分类Dev

Jelastic和Jetty 9上的SSL

来自分类Dev

如何在连接到节点上的 websocket 服务器时传递消息

来自分类Dev

服务器上的WebSocket连接状态

来自分类Dev

Android上的Websocket服务器

来自分类Dev

Debian 9上的启动服务

来自分类Dev

如何在Ubuntu服务器上安装cloud9 IDE

来自分类Dev

Rails教程第1章:Rails服务器无法在Cloud9上运行

来自分类Dev

cloud9 IDE上的Rails服务器被杀死

来自分类Dev

Strapi服务器现在在cloud9上启动

来自分类Dev

cloud9 IDE上的Rails服务器被杀死

来自分类Dev

尝试在云9上启动Rails服务器时出现Errno :: ENOENT

来自分类Dev

在C9上重启服务器后,我的PostgreSQL数据库为空

来自分类Dev

AWS cloud9 上的 Hello World - 无法使用 PHP 内置服务器访问站点

来自分类Dev

ubuntu 服务器上的交换大小

来自分类Dev

如何使Jetty Web服务器在端口80上侦听?

来自分类Dev

在Spark中的Jetty服务器上禁用密码套件

来自分类Dev

Jetty服务器上的Famo.us

来自分类Dev

在Spark中的Jetty服务器上禁用密码套件

来自分类Dev

嵌入式Jetty 9中基于SSL的WebSocket

来自分类Dev

如何使websocket服务器位于路由器上?

Related 相关文章

  1. 1

    会话上的Jetty 9 WebSocket服务器最大消息大小

  2. 2

    更改Jetty 9服务器中已建立会话的会话ID

  3. 3

    嵌入式 Jetty 9 - 我需要 Websocket 服务器、REST Servlet 和文件服务器

  4. 4

    无法在Firefox 50上通过SSL连接到Jetty 9服务器

  5. 5

    Cloud 9 IDE上的Rails服务器被杀死

  6. 6

    在服务器上运行 DotNetNuke 9 时出错

  7. 7

    在Android的Java Websocket服务器上收到消息时未创建Toast消息

  8. 8

    邮件会话资源JNDI查找中Jetty 9中的NameNotfoundException

  9. 9

    Jelastic和Jetty 9上的SSL

  10. 10

    Jelastic和Jetty 9上的SSL

  11. 11

    如何在连接到节点上的 websocket 服务器时传递消息

  12. 12

    服务器上的WebSocket连接状态

  13. 13

    Android上的Websocket服务器

  14. 14

    Debian 9上的启动服务

  15. 15

    如何在Ubuntu服务器上安装cloud9 IDE

  16. 16

    Rails教程第1章:Rails服务器无法在Cloud9上运行

  17. 17

    cloud9 IDE上的Rails服务器被杀死

  18. 18

    Strapi服务器现在在cloud9上启动

  19. 19

    cloud9 IDE上的Rails服务器被杀死

  20. 20

    尝试在云9上启动Rails服务器时出现Errno :: ENOENT

  21. 21

    在C9上重启服务器后,我的PostgreSQL数据库为空

  22. 22

    AWS cloud9 上的 Hello World - 无法使用 PHP 内置服务器访问站点

  23. 23

    ubuntu 服务器上的交换大小

  24. 24

    如何使Jetty Web服务器在端口80上侦听?

  25. 25

    在Spark中的Jetty服务器上禁用密码套件

  26. 26

    Jetty服务器上的Famo.us

  27. 27

    在Spark中的Jetty服务器上禁用密码套件

  28. 28

    嵌入式Jetty 9中基于SSL的WebSocket

  29. 29

    如何使websocket服务器位于路由器上?

热门标签

归档