Skip to main content

Unidirectional GRPC

It's possible to connect to GRPC unidirectional stream to consume real-time messages from Centrifugo. In this case you need to generate GRPC code for your language on client-side.

Protobuf definitions can be found here.

GRPC server will start on port 11000 (default).

Supported data formats#

JSON and binary.

Options#

uni_grpc#

Boolean, default: false.

Enables unidirectional GRPC endpoint.

config.json
{    ...    "uni_grpc": true}

uni_grpc_port#

String, default "11000".

Port to listen on.

uni_grpc_address#

String, default "" (listen on all interfaces)

Address to bind uni GRPC to.

uni_grpc_max_receive_message_size#

Default: 65536 (64KB)

Maximum allowed size of a first connect message received from GRPC connection in bytes.

uni_grpc_tls#

Boolean, default: false

Enable custom TLS for unidirectional GRPC server.

uni_grpc_tls_cert#

String, default: "".

Path to cert file.

uni_grpc_tls_key#

String, default: "".

Path to key file.

Example#

A basic example can be found here. It uses Go language, but for other languages approach is mostly the same:

  1. Copy Protobuf definitions
  2. Generate GRPC client code
  3. Use generated code to connect to Centrifugo
  4. Process Push messages, drop unknown Push types, handle those necessary for the application.