# OMERO.server Websockets

Since version 5.5.0, OMERO includes support for websocket connections. This allows clients to connect to OMERO.server over HTTP/S using the Ice protocol (note: this is not the same as the OMERO.web or JSON APIs).

## Configuration

The `omero.client.icetransports` OMERO.server configuration property must be changed. See the linked documentation for details.

You can override the default `ws` (4065) and `wss` (4066) ports with the properties `omero.ports.ws` `omero.ports.wss`.

If you want to proxy OMERO.server websockets via a webserver such as Nginx you must also add a cipher supported by Nginx to `omero.glacier2.IceSSL.Ciphers` since the anonymous ciphers that OMERO uses are not supported.

For a full configuration example see https://github.com/ome/docker-example-omero-websockets

## Client connection

You can connect to an OMERO websocket by setting the appropriate `Ice.Config` properties in the client, for example:

    Ice.Default.Router="OMERO.Glacier2/router:wss -p 8443 -h example.org -r omero/websocket"

Some clients also support specifying the Ice transport in the host, e.g. `wss://example.org:8443/omero/websocket`.