Sending Binary Data with WebSocket - Atmosphere/atmosphere 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");