我在原生Android应用程序(Java)中使用Tyrus websocket客户端(版本1.12),通过WSS连接到websokcet服务器。我能够发送和接收二进制消息。但是,当我尝试从服务器接收大小超过16 KB的二进制消息时,Tyrus websocket客户端关闭,并且#34;异常关闭"原因。
相同的服务器和相同的大消息可以与chrome(Android)和safari(iOS)中的HTML5 / JavaScript websocket客户端一起使用。
我试图调试Tyrus websocket客户端源代码,但这是一个很长的镜头。
只是想知道是否有任何人有任何类似的问题,并可以提供任何线索。
谢谢&问候, 阿迪亚。
答案 0 :(得分:1)
抱歉,我不知道回答旧问题的政策是什么,但让他们无人接听似乎很糟糕。我遇到了类似的问题(但当时没有看到你的问题)。我设置了这样的最大缓冲区大小,它对我有用:
ClientManager client = ClientManager.createClient(c);
client.getProperties().put("org.glassfish.tyrus.incomingBufferSize", 128000000);
session = client.connectToServer(this, config, new URI("wss://" + SERVER + ":" + PORT + WEBSOCKETENDPOINT));
以下是我的问题:Spring Websocket Server Resets Connection When Sending Large Amounts of Data
答案 1 :(得分:0)
我不确定,但Session.setMaxBinaryMessageSize(int)
可以帮到你。