The WebSocket connection class represents a connection that is built on top of an HTTP connection. More...
Public Types | |
enum |
State { WS_STATE_INIT, WS_STATE_CONNECTING, WS_STATE_CONNECTED, WS_STATE_CLOSING, WS_STATE_CLOSED, WS_STATE_ERROR } |
This class represents different states that a WebSocket can be in. More... |
|
Public Types inherited from mi::base::Interface_declare< 0x52fd1beb, 0x4c6f, 0x4456, 0x86, 0x9c, 0xfd, 0xf4, 0x12, 0x52, 0x0a, 0xae > | |
typedef Interface_declare< id1, id2, id3, id4, id5, id6, id7, id8, id9, id10, id11, IInterface > |
Self |
Own type. More... |
|
typedef Uuid_t< id1, id2, id3, id4, id5, id6, id7, id8, id9, id10, id11 > |
IID |
Declares the interface ID (IID) of this interface. More... |
|
Public Types inherited from mi::base::IInterface | |
typedef Uuid_t< 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 > | IID |
Declares the interface ID (IID) of this interface. More... |
|
Public Member Functions | |
virtual const char * | get_peer_address () const =0 |
Returns the peer's address of the connection. More... |
|
virtual const char * | get_local_address () const =0 |
Returns the local address of the connection. More... |
|
virtual const char * | get_url () const =0 |
Returns the URL that the WebSocket request is sent to. More... |
|
virtual State | get_state () const =0 |
Returns the state of the connection. More... |
|
virtual void | set_state_handler (IWeb_socket_state_handler *handler)=0 |
Sets a state handler to the WebSocket connection. More... |
|
virtual void | set_data_handler (IWeb_socket_data_handler *handler)=0 |
Sets a data handler to the WebSocket connection. More... |
|
virtual Difference | write (neuraylib::IBuffer *buffer)=0 |
Writes data from a buffer to the connection. More... |
|
virtual bool | print (const char *string)=0 |
Prints a string to the connection. More... |
|
bool | printf (const char *string,...) __attribute__((format(printf |
Prints a string to the connection. More... |
|
virtual void | close ()=0 |
Stop the connection. More... |
|
Additional Inherited Members | |
Static Public Member Functions inherited from mi::base::Interface_declare< 0x52fd1beb, 0x4c6f, 0x4456, 0x86, 0x9c, 0xfd, 0xf4, 0x12, 0x52, 0x0a, 0xae > | |
static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface and of its ancestors. More... |
|
The WebSocket connection class represents a connection that is built on top of an HTTP connection.
This class represents different states that a WebSocket can be in.
|
pure virtual |
Stop the connection.
|
pure virtual |
Returns the local address of the connection.
|
pure virtual |
Returns the peer's address of the connection.
|
pure virtual |
Returns the state of the connection.
|
pure virtual |
Returns the URL that the WebSocket request is sent to.
|
pure virtual |
Prints a string to the connection.
string | The string to be written. |
true
, in case of success, and false
in case of failure. bool mi::http::IWeb_socket::printf | ( | const char * | string, |
... | |||
) |
Prints a string to the connection.
string | The string to be written using printf()-like format specifiers, followed by matching arguments. The formatted message is limited to 1024 characters. |
true
, in case of success, and false
in case of failure.
|
pure virtual |
Sets a data handler to the WebSocket connection.
The data handler is called whenever new data arrives at the WebSocket. The data handler is a deferred callback, i.e., if data is available for reading at the WebSocket, the data handler is called after the set_data_handler() method has been executed.
The handler is removed when the connection is closed.
handler | The data handler. |
|
pure virtual |
Sets a state handler to the WebSocket connection.
The state handler is called whenever the WebSocket changes its state. The state handler is a deferred callback, i.e., it is called after the set_state_handler() method has been executed.
The handler is removed when the connection is closed.
handler | The data handler. |
|
pure virtual |
Writes data from a buffer to the connection.
There is no limit on the buffer size on the sender's side. However, a WebSocket receiver currently limits the size of a receive buffer to 50 000 000 bytes. Thus, applications should keep the size of their transmitted data buffers below this limit. Otherwise, the transmitted data buffers will be truncated.
buffer | The buffer containing data to be written to the socket. |
errno
contains further information.