3

我在原生 Android 应用程序 (Java) 中使用 Tyrus websocket 客户端(版本 1.12)通过 WSS 连接到 websokcet 服务器。我能够发送和接收二进制消息。但是,当我尝试从服务器接收大于 16 KB 的二进制消息时,Tyrus websocket 客户端以“异常关闭”的原因关闭。

在 chrome (Android) 和 safari (iOS) 中,相同的服务器和相同的大型消息可以与 HTML5/JavaScript websocket 客户端正常工作。

我正在尝试调试 Tyrus websocket 客户端源代码,但它是一个长镜头。

只是想知道是否有人有任何类似的问题并可以提供任何线索。

谢谢和问候,阿迪亚。

4

2 回答 2

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 在发送大量数据时重置连接

于 2017-08-08T16:09:13.517 回答
0

我不确定,但可以帮助你。Session.setMaxBinaryMessageSize(int)

于 2015-10-21T09:44:17.363 回答