Class

SoupWebsocketConnection

Description [src]

final class Soup.WebsocketConnection : GObject.Object {
  /* No available fields */
}

The WebSocket Protocol

Provides support for the WebSocket protocol.

To connect to a WebSocket server, create a SoupSession and call soup_session_websocket_connect_async(). To accept WebSocket connections, create a SoupServer and add a handler to it with soup_server_add_websocket_handler().

(Lower-level support is available via soup_websocket_client_prepare_handshake() and soup_websocket_client_verify_handshake(), for handling the client side of the WebSocket handshake, and soup_websocket_server_process_handshake() for handling the server side.)

SoupWebsocketConnection handles the details of WebSocket communication. You can use soup_websocket_connection_send_text() and soup_websocket_connection_send_binary() to send data, and the SoupWebsocketConnection::message signal to receive data. (SoupWebsocketConnection currently only supports asynchronous I/O.)

Ancestors

Constructors

soup_websocket_connection_new

Creates a SoupWebsocketConnection on stream with the given active extensions.

Instance methods

soup_websocket_connection_close

Close the connection in an orderly fashion.

soup_websocket_connection_get_close_code

Get the close code received from the WebSocket peer.

soup_websocket_connection_get_close_data

Get the close data received from the WebSocket peer.

soup_websocket_connection_get_connection_type

Get the connection type (client/server) of the connection.

soup_websocket_connection_get_extensions

Get the extensions chosen via negotiation with the peer.

soup_websocket_connection_get_io_stream

Get the I/O stream the WebSocket is communicating over.

soup_websocket_connection_get_keepalive_interval

Gets the keepalive interval in seconds or 0 if disabled.

soup_websocket_connection_get_keepalive_pong_timeout

Gets the keepalive pong timeout in seconds or 0 if disabled.

since: 3.6

soup_websocket_connection_get_max_incoming_payload_size

Gets the maximum payload size allowed for incoming packets.

soup_websocket_connection_get_origin

Get the origin of the WebSocket.

soup_websocket_connection_get_protocol

Get the protocol chosen via negotiation with the peer.

soup_websocket_connection_get_state

Get the current state of the WebSocket.

soup_websocket_connection_get_uri

Get the URI of the WebSocket.

soup_websocket_connection_send_binary

Send a binary message to the peer.

soup_websocket_connection_send_message

Send a message of the given type to the peer. Note that this method, allows to send text messages containing NULL characters.

soup_websocket_connection_send_text

Send a NULL-terminated text (UTF-8) message to the peer.

soup_websocket_connection_set_keepalive_interval

Sets the interval in seconds on when to send a ping message which will serve as a keepalive message.

soup_websocket_connection_set_keepalive_pong_timeout

Set the timeout in seconds for when the absence of a pong from a keepalive ping is assumed to be caused by a faulty connection.

since: 3.6

soup_websocket_connection_set_max_incoming_payload_size

Sets the maximum payload size allowed for incoming packets.

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

Properties

Soup.WebsocketConnection:connection-type

The type of connection (client/server).

Soup.WebsocketConnection:extensions

List of SoupWebsocketExtension objects that are active in the connection.

Soup.WebsocketConnection:io-stream

The underlying IO stream the WebSocket is communicating over.

Soup.WebsocketConnection:keepalive-interval

Interval in seconds on when to send a ping message which will serve as a keepalive message.

Soup.WebsocketConnection:keepalive-pong-timeout

Timeout in seconds for when the absence of a pong from a keepalive ping is assumed to be caused by a faulty connection. The WebSocket will be transitioned to a closed state when this happens.

since: 3.6

Soup.WebsocketConnection:max-incoming-payload-size

The maximum payload size for incoming packets.

Soup.WebsocketConnection:origin

The client’s Origin.

Soup.WebsocketConnection:protocol

The chosen protocol, or NULL if a protocol was not agreed upon.

Soup.WebsocketConnection:state

The current state of the WebSocket.

Soup.WebsocketConnection:uri

The URI of the WebSocket.

Signals

Soup.WebsocketConnection::closed

Emitted when the connection has completely closed.

Soup.WebsocketConnection::closing

This signal will be emitted during an orderly close.

Soup.WebsocketConnection::error

Emitted when an error occurred on the WebSocket.

Soup.WebsocketConnection::message

Emitted when we receive a message from the peer.

Soup.WebsocketConnection::pong

Emitted when we receive a Pong frame (solicited or unsolicited) from the peer.

Signals inherited from GObject (1)
GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

Class structure

struct SoupWebsocketConnectionClass {
  GObjectClass parent_class;
  
}

The abstract base class for SoupWebsocketConnection.

Class members
parent_class: GObjectClass
No description available.