Sending Binary Data with WebSocket - Atmosphere/atmosphere GitHub Wiki
By default, The Atmosphere Framework will send text message back to the client/browser. If you want to send bytes, just add client side the following header:
X-Atmosphere-Binary: true
Add disable the Atmosphere Protocol if you use a Browser as client
X-atmo-protocol: false
If you are using WAsync
client.newRequestBuilder().enableProtocol(false)
You can also programmatically enable it by using
AtmosphereResource.forceBinaryWrite(true);
If you are using WAsync
optionsBuilder = client.newOptionsBuilder();
optionsBuilder.binary(true);
You can also enable it by using web.xml
<init-param>
<param-name>org.atmosphere.websocket.binaryWrite</param-name>
<param-value>true</param-value>
</init-param>
I you need to transfert big amount of data, you must increase default websocket size settings:
Springboot example:
registration.addInitParameter(ApplicationConfig.WEBSOCKET_MAXBINARYSIZE, "100000000");
registration.addInitParameter(ApplicationConfig.WEBSOCKET_BUFFER_SIZE, "100000000");