scim 1.4.18
|
Socket communication class. More...
#include <scim_socket.h>
Public Member Functions | |
Socket (int id=-1) | |
Create a Socket object from an already created socket_id. | |
~Socket () | |
Destructor. | |
bool | valid () const |
Check if the socket is valid. | |
int | read (void *buf, size_t size) const |
Read data from socket. | |
int | read_with_timeout (void *buf, size_t size, int timeout) const |
read data from socket with a timeout. | |
int | write (const void *buf, size_t size) const |
Write data to socket. | |
int | wait_for_data (int timeout=-1) const |
Wait until there are some data ready to read. | |
int | get_error_number () const |
Get the number of the last occurred error. | |
String | get_error_message () const |
Get the message of the last occurred error. | |
int | get_id () const |
Get the socket id. | |
Protected Member Functions | |
bool | connect (const SocketAddress &addr) const |
Initiate a connection on a socket. | |
bool | bind (const SocketAddress &addr) const |
Bind a socket to an address, used by SocketServer. | |
bool | listen (int queue_length=5) const |
Listen for connections on a socket. | |
int | accept () const |
Accept a connection on the socket, used by SocketServer. | |
bool | create (SocketFamily family) |
Create a socket for specific family. | |
void | close () |
Close the socket. | |
Socket communication class.
Class Socket provides basic operation of socket, such as bind connect, read, write etc.
This class object cannot be created directly by user. Only the object of its derived classes SocketServer and SocketClient can be created directly.
scim::Socket::Socket | ( | int | id = -1 | ) |
Create a Socket object from an already created socket_id.
id | an file id of an existing socket. |
scim::Socket::~Socket | ( | ) |
Destructor.
bool scim::Socket::valid | ( | ) | const |
Check if the socket is valid.
Read data from socket.
buf | the buffer to store the data. |
size | size of the buffer. |
read data from socket with a timeout.
buf | the buffer to store the data. |
size | size of the buffer, and the amount of data to be read. |
timeout | time out in millisecond (1/1000 second), -1 means infinity. |
Write data to socket.
buf | the buffer stores the data. |
size | size of the data to be sent. |
Wait until there are some data ready to read.
timeout | time out in millisecond (1/1000 second), -1 means infinity. |
int scim::Socket::get_error_number | ( | ) | const |
Get the number of the last occurred error.
String scim::Socket::get_error_message | ( | ) | const |
Get the message of the last occurred error.
int scim::Socket::get_id | ( | ) | const |
Get the socket id.
|
protected |
Initiate a connection on a socket.
addr | the address to be connected to. |
|
protected |
Bind a socket to an address, used by SocketServer.
addr | the address to be binded to. |
Listen for connections on a socket.
queue_length | the length of the waiting queue. |
|
protected |
Accept a connection on the socket, used by SocketServer.
|
protected |
Create a socket for specific family.
family | the family type. |
|
protected |
Close the socket.