Unigine::Socket Class
Header: | #include <UnigineStreams.h> |
Inherits: | Stream |
This class provides basic functionality for network interaction using stream sockets.
Socket Class
Members
static SocketPtr create(int type)
Creates a socket and opens it on a given port. When the socket receives data, packets from all network interfaces will be received. When the socket sends data, the default IP address will be used.Arguments
- int type - Port, on which the socket will be opened.
static SocketPtr create(int type, int port)
Creates a socket for TCP or UDP connections and opens it on a given port. When the socket receives data, packets from all network interfaces will be received. When the socket sends data, the default IP address will be used.Arguments
- int type - Socket for TCP (SOCKET_STREAM variable) or UDP (SOCKET_DGRAM) connections.
- int port - Port, on which the socket will be opened.
static SocketPtr create(int type, const char * host, int port)
Creates a socket for TCP or UDP connections and opens it on a given host and a given port. The host specifies the address, from and to which data will be sent.Arguments
- int type - Socket for TCP (SOCKET_STREAM variable) or UDP (SOCKET_DGRAM) connections.
- const char * host - Host, on which the socket will be opened.
- int port - Port, on which the socket will be opened.
Ptr<Socket> cast(const Ptr<Stream> & stream)
Arguments
- const Ptr<Stream> & stream
int getFD()
Returns the socket file descriptor.Return value
Socket file descriptor.const char * getHost()
Returns the host name on which the socket is opened.Return value
Host name.int getPort()
Returns the port number on which the socket is opened.Return value
Port number.int accept(const Ptr<Socket> & socket)
Accepts a connection on the socket.Arguments
- const Ptr<Socket> & socket - Socket that is bound to an address and listens to connections.
Return value
Returns 1 if the connection is accepted; otherwise, 0.int bind()
Binds the socket to an address figured out from the host used for socket initialization.Return value
Returns 1 if the address is bound; otherwise, 0.int block()
Sets up a blocking socket.Return value
1 if the socket is opened; otherwise, 0.int broadcast()
Sets up a broadcast socket. To create a broadcast socket, you need to create it with a broadcast host address first and then use this function.Return value
Returns 1 if the socket is set up successfully ; otherwise, 0 is returned.int close()
Closes the socket.int connect()
Initiates a connection on the socket.Return value
Returns 1 if the connection is initialized; otherwise, 0.int listen(int num)
Makes the socket listen to connections.Arguments
- int num - Maximum number of pending connections.
Return value
Returns 1 if the socket has started listening; otherwise, 0.int listenMulticastGroup()
Joins the socket to a multicast group. Available for UDP sockets only.The socket class doesn't allow creating a multicast server.
const int PORT = 8888;
SocketPtr socket = Socket::create(Socket::SOCKET_DGRAM, PORT);
socket->listenMulticastGroup();
Return value
1 if the sockect has been joined successfully; otherwise, 0.int nodelay()
Enables Nagle's algorithm.Return value
Returns 1 if the algorithm has been enabled successfully; otherwise, 0.int nonblock()
Makes the socket a non-blocking one.Return value
Returns 1 if the has become non-blocking; otherwise, 0.int open(int port)
Opens the socket on a given port. When the socket receives data, packets from all network interfaces will be received. When the socket sends data, the default IP address will be used.Arguments
- int port - Port number, on which the socket will be opened.
Return value
Returns 1 if the socket is opened successfully; otherwise, 0.int open(const char * host, int port)
Opens the socket on a given port. When the socket receives data, packets from all network interfaces will be received. When the socket sends data, the default IP address will be used.Arguments
- const char * host - Host name, on which the socket will be opened.
- int port - Port number, on which the socket will be opened.
Return value
Returns 1 if the socket is opened successfully; otherwise, 0.int recv(int size)
Resizes an internal receiving buffer for a socket.Arguments
- int size - Receive buffer size in bytes.
Return value
Returns 1 if the buffer is resized successfully; otherwise, 0.int send(int size)
Resizes an internal sending buffer for a socket.Arguments
- int size - Send buffer size in bytes.
Return value
Returns 1 if the buffer is resized successfully; otherwise, 0.int SOCKET_DGRAM
Description
Socket for UDP packets.int SOCKET_STREAM
Description
Socket for TCP packets.Last update: 2017-07-03
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)