socket_connect4 − attempt to make a TCP connection
#include <libowfat/socket.h>
int socket_connect4(int s,const char ip[4],uint16 port);
socket_connect4 attempts to make a connection from TCP socket s to TCP port port on IP address ip.
socket_connect4 may return
• |
0, to indicate that the connection succeeded (and succeeded immediately, if the socket is non-blocking) | ||
• |
-1, setting errno to error_inprogress or error_wouldblock, to indicate that the socket is non-blocking | ||
• |
-1, setting errno to something else, to indicate that the connection failed (and failed immediately, if the socket is non-blocking). |
When a background connection succeeds or fails, s becomes writable; you can use socket_connected to see whether the connection succeeded. If the connection failed, socket_connected returns 0, setting errno appropriately.
Once a TCP socket is connected, you can use the read and write system calls to transmit data.
You can call socket_connect4 without calling socket_bind4. This has the effect as first calling socket_bind4 with IP address 0.0.0.0 and port 0.
#include <libowfat/socket.h>
int s;
char ip[4];
uint16 p;
s =
socket_tcp4();
socket_bind4(s,ip,p);
socket_connect4(s,ip,p);
socket_connect6(3), socket_fastopen_connect4(3)