OSRTSocket Class Reference
[TCP/IP or UDP Socket Classes]
#include <OSRTSocket.h>
Public Member Functions | |
EXTRTMETHOD | OSRTSocket () |
EXTRTMETHOD | OSRTSocket (OSRTSOCKET socket, OSBOOL ownership=FALSE) |
EXTRTMETHOD | OSRTSocket (const OSRTSocket &socket) |
EXTRTMETHOD | ~OSRTSocket () |
EXTRTMETHOD OSRTSocket * | accept (OSIPADDR *destIP=0, int *port=0) |
EXTRTMETHOD int | bind (OSIPADDR addr, int port) |
EXTRTMETHOD int | bindUrl (const char *url) |
EXTRTMETHOD int | bind (const char *pAddrStr, int port) |
int | bind (int port) |
EXTRTMETHOD int | blockingRead (OSOCTET *pbuf, size_t readBytes) |
EXTRTMETHOD int | close () |
EXTRTMETHOD int | connect (const char *host, int port) |
EXTRTMETHOD int | connectUrl (const char *url) |
OSBOOL | getOwnership () |
OSRTSOCKET | getSocket () const |
int | getStatus () |
EXTRTMETHOD int | listen (int maxConnections) |
EXTRTMETHOD int | recv (OSOCTET *pbuf, size_t bufsize) |
void | setOwnership (OSBOOL ownership) |
EXTRTMETHOD int | send (const OSOCTET *pdata, size_t size) |
Static Public Member Functions | |
static EXTRTMETHOD const char * | addrToString (OSIPADDR ipAddr, char *pAddrStr, size_t bufsize) |
static EXTRTMETHOD OSIPADDR | stringToAddr (const char *pAddrStr) |
Protected Member Functions | |
OSBOOL | isInitialized () |
Protected Attributes | |
OSRTSOCKET | mSocket |
int | mInitStatus |
int | mStatus |
OSBOOL | mOwner |
Detailed Description
Wrapper class for TCP/IP or UDP sockets.
Constructor & Destructor Documentation
EXTRTMETHOD OSRTSocket::OSRTSocket | ( | ) |
This is the default constructor. It initializes all internal members with default values and creates a new socket structure. Use getStatus() method to determine has error occurred during the initialization or not.
EXTRTMETHOD OSRTSocket::OSRTSocket | ( | OSRTSOCKET | socket, | |
OSBOOL | ownership = FALSE | |||
) |
This constructor initializes an instance by using an existing socket.
- Parameters:
-
socket An existing socket handle. ownership Boolean flag that specifies who is the owner of the socket. If it is TRUE then the socket will be destroyed in the destructor. Otherwise, the user is responsible to close and destroy the socket.
EXTRTMETHOD OSRTSocket::OSRTSocket | ( | const OSRTSocket & | socket | ) |
The copy constructor. The copied instance will have the same socket handle as the original one, but will not be the owner of the handle.
EXTRTMETHOD OSRTSocket::~OSRTSocket | ( | ) |
The destructor. This closes socket if the instance is the owner of the socket.
Member Function Documentation
EXTRTMETHOD OSRTSocket* OSRTSocket::accept | ( | OSIPADDR * | destIP = 0 , |
|
int * | port = 0 | |||
) |
This method permits an incoming connection attempt on a socket. It extracts the first connection on the queue of pending connections on the socket. It then creates a new socket and returns an instance of the new socket. The newly created socket will handle the actual connection and has the same properties as the original socket.
- Parameters:
-
destIP Optional pointer to a buffer that receives the IP address of the connecting entity. It may be NULL. port Optional pointer to a buffer that receives the port of the connecting entity. It may be NULL.
- Returns:
- An instance of the new socket class. NULL, if error occur. Use OSRTSocket::getStatus method to obtain error code.
- See also:
- rtxSocketAccept
static EXTRTMETHOD const char* OSRTSocket::addrToString | ( | OSIPADDR | ipAddr, | |
char * | pAddrStr, | |||
size_t | bufsize | |||
) | [static] |
This method converts an IP address to its string representation.
- Parameters:
-
ipAddr The IP address to be converted. pAddrStr Pointer to the buffer to receive a string with the IP address. bufsize Size of the buffer.
- Returns:
- Pointer to a string with IP-address. NULL, if error occur.
int OSRTSocket::bind | ( | int | port | ) | [inline] |
This method associates only a local port with a socket. It is used on an unconnected socket before subsequent calls to the OSRTSocket::connect or OSRTSocket::listen methods.
- Parameters:
-
port The local port number to assign to the socket.
- Returns:
- Completion status of operation:
- 0 = success,
- negative return value is error.
- See also:
- rtxSocketBind
- bind ()
EXTRTMETHOD int OSRTSocket::bind | ( | const char * | pAddrStr, | |
int | port | |||
) |
This method associates a local address with a socket. It is used on an unconnected socket before subsequent calls to the OSRTSocket::connect or OSRTSocket::listen methods.
- Parameters:
-
pAddrStr Null-terminated character string representing a number expressed in the Internet standard "." (dotted) notation. port The local port number to assign to the socket.
- Returns:
- Completion status of operation:
- 0 = success,
- negative return value is error.
- See also:
- rtxSocketBind
EXTRTMETHOD int OSRTSocket::bind | ( | OSIPADDR | addr, | |
int | port | |||
) |
This method associates a local address with a socket. It is used on an unconnected socket before subsequent calls to the OSRTSocket::connect or OSRTSocket::listen methods.
- Parameters:
-
addr The local IP address to assign to the socket. port The local port number to assign to the socket.
- Returns:
- Completion status of operation:
- 0 = success,
- negative return value is error.
- See also:
- rtxSocketBind
EXTRTMETHOD int OSRTSocket::bindUrl | ( | const char * | url | ) |
This method associates a local address with a socket. It is used on an unconnected socket before subsequent calls to the OSRTSocket::connect or OSRTSocket::listen methods. This version of the method allows a URL to be used instead of address and port number.
- Parameters:
-
url Univeral resource locator (URL) string.
- Returns:
- Completion status of operation:
- 0 = success,
- negative return value is error.
- See also:
- rtxSocketBind
EXTRTMETHOD int OSRTSocket::blockingRead | ( | OSOCTET * | pbuf, | |
size_t | readBytes | |||
) |
This method receives data from the connected socket. In this case, the connection is blocked until either the requested number of bytes is received or the socket is closed or an error occurs.
- Parameters:
-
pbuf Pointer to the buffer for the incoming data. readBytes Number of bytes to receive.
- Returns:
- If no error occurs, returns the number of bytes received. Otherwise, the negative value is error code.
EXTRTMETHOD int OSRTSocket::close | ( | ) |
This method closes this socket.
- Returns:
- Completion status of operation:
- 0 = success,
- negative return value is error.
- See also:
- rtxSocketClose
EXTRTMETHOD int OSRTSocket::connect | ( | const char * | host, | |
int | port | |||
) |
This method establishes a connection to this socket. It is used to create a connection to the specified destination. When the socket call completes successfully, the socket is ready to send and receive data.
- Parameters:
-
host Null-terminated character string representing a number expressed in the Internet standard "." (dotted) notation. port The destination port to connect.
- Returns:
- Completion status of operation:
- 0 = success,
- negative return value is error.
- See also:
- rtxSocketConnect
EXTRTMETHOD int OSRTSocket::connectUrl | ( | const char * | url | ) |
This method establishes a connection to this socket. It is used to create a connection to the specified destination. In this version, destination is specified using a URL.
- Parameters:
-
url Univeral resource locator (URL) string.
- Returns:
- Completion status of operation:
- 0 = success,
- negative return value is error.
- See also:
- rtxSocketConnect
OSBOOL OSRTSocket::getOwnership | ( | ) | [inline] |
Returns the ownership of underlying O/S socket.
- Returns:
- TRUE, if the socket object has the ownership of underlying O/S socket.
OSRTSOCKET OSRTSocket::getSocket | ( | ) | const [inline] |
This method returns the handle of the socket.
- Returns:
- The handle of the socket.
int OSRTSocket::getStatus | ( | ) | [inline] |
Returns a completion status of last operation.
- Returns:
- Completion status of last operation:
- 0 = success,
- negative return value is error.
EXTRTMETHOD int OSRTSocket::listen | ( | int | maxConnections | ) |
This method places a socket into a state where it is listening for an incoming connection.
- Parameters:
-
maxConnections Maximum length of the queue of pending connections.
- Returns:
- Completion status of operation:
- 0 = success,
- negative return value is error.
- See also:
- rtxSocketListen
EXTRTMETHOD int OSRTSocket::recv | ( | OSOCTET * | pbuf, | |
size_t | bufsize | |||
) |
This method receives data from a connected socket. It is used to read incoming data on sockets. The socket must be connected before calling this function.
- Parameters:
-
pbuf Pointer to the buffer for the incoming data. bufsize Length of the buffer.
- Returns:
- If no error occurs, returns the number of bytes received. Negative error code if error occurred.
- See also:
- rtxSocketRecv
EXTRTMETHOD int OSRTSocket::send | ( | const OSOCTET * | pdata, | |
size_t | size | |||
) |
This method sends data on a connected socket. It is used to write outgoing data on a connected socket.
- Parameters:
-
pdata Buffer containing the data to be transmitted. size Length of the data in pdata.
- Returns:
- Completion status of operation:
- 0 = success,
- negative return value is error.
- See also:
- rtxSocketSend
void OSRTSocket::setOwnership | ( | OSBOOL | ownership | ) | [inline] |
Transfers an ownership of the underlying O/S socket to or from the socket object. If the socket object has the ownership of the underlying O/S socket it will close the O/S socket when the socket object is being closed or destroyed.
- Parameters:
-
ownership TRUE, if socket object should have ownership of the underlying O/S socket; FALSE, otherwise.
static EXTRTMETHOD OSIPADDR OSRTSocket::stringToAddr | ( | const char * | pAddrStr | ) | [static] |
This method converts a string containing an Internet Protocol dotted address into a proper OSIPADDR address.
- Parameters:
-
pAddrStr Null-terminated character string representing a number expressed in the Internet standard "." (dotted) notation.
- Returns:
- If no error occurs, returns OSIPADDR. OSIPADDR_INVALID, if error occurred.
The documentation for this class was generated from the following file: