socket_accept

Accepts a connection on a socket

&reftitle.description; `resource` `socket_accept` `resource` `socket`

After the socket `socket` has been created using `socket_create`, bound to a name with `socket_bind`, and told to listen for connections with `socket_listen`, this function will accept incoming connections on that socket. Once a successful connection is made, a new socket resource is returned, which may be used for communication. If there are multiple connections queued on the socket, the first will be used. If there are no pending connections, `socket_accept` will block until a connection becomes present. If `socket` has been made non-blocking using `socket_set_blocking` or `socket_set_nonblock`, &false; will be returned.

The socket resource returned by `socket_accept` may not be used to accept new connections. The original listening socket `socket`, however, remains open and may be reused.

&reftitle.parameters;

`socket`

- A valid socket resource created with `socket_create`.

&reftitle.returnvalues;

Returns a new socket resource on success, or &false; on error. The actual error code can be retrieved by calling `socket_last_error`. This error code may be passed to `socket_strerror` to get a textual explanation of the error.

&reftitle.seealso;

- `socket_connect`
- `socket_listen`
- `socket_create`
- `socket_bind`
- `socket_strerror`