---
name: "socket_accept4"
section: "3diet"
platform: "linux"
package: "libowfat-dev"
version: "0.28-2"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/socket_accept4/3diet"
---

# socket\_accept4(3diet)

accept an IPv4 TCP connection on a socket

## NAME

socket\_accept4 - accept an IPv4 TCP connection on a socket

## SYNTAX

**#include \<socket.h\>**

int **socket\_accept4**(int *s*,char *ip*\[4\],uint16 \**port*);

## DESCRIPTION

When a TCP connection arrives on a listening TCP socket *s*, the socket becomes readable.

socket\_accept4 accepts the connection.  It sets *ip* and *port* to the client IP address and client TCP port.  It creates a new socket for the connection, and returns a file descriptor pointing to the new socket; you can use the read and write system calls to transmit data through that file descriptor.

If something goes wrong, socket\_accept4 returns -1, setting errno appropriately, without creating a new socket.

## EXAMPLE

  \#include \<socket.h\>

  int *s*;\
   char *ip*\[4\];\
   uint16 *p*;

  *s* = socket\_tcp4();\
   socket\_bind4(s,ip,p);\
   socket\_listen(s,16);\
   socket\_accept4(s,ip,&p);

## SEE ALSO

[socket\_accept6(3)](/socket_accept6/3.md), [socket\_connected(3)](/socket_connected/3.md)
