# modbus_tcp_listen(3) Manual Page

## NAME

modbus_tcp_listen - create and listen a TCP Modbus socket

## SYNOPSIS

int modbus_tcp_listen(modbus_t *ctx, int nb_connection);

## DESCRIPTION

The modbus_tcp_listen() function shall create a socket and listen for nb_connection incoming connections.

## RETURN VALUE

The modbus_tcp_listen() function shall return a new socket if successful. Otherwise it shall return -1 and set errno.

## EXAMPLE

For a detailed example, see source file bandwith-server-many-up.c provided in tests directory.

    ...

    ctx = modbus_new_tcp("127.0.0.1", 502);
    if (modbus_connect(ctx) == -1) {
        fprintf(stderr, "Connection failed: %s\n", modbus_strerror(errno));
        modbus_free(ctx);
        return -1;
    }

    /* Handle until 10 established connections */
    server_socket = modbus_tcp_listen(ctx, 10);

    /* Clear the reference set of socket */
    FD_ZERO(&refset);

    /* Add the server socket */
    FD_SET(server_socket, &refset);

    if (select(server_socket + 1, &refset, NULL, NULL, NULL) == -1) {
    }

    ...

    close(server_socket);
    modbus_free(ctx);

## SEE ALSO

modbus_tcp_accept(3) modbus_tcp_pi_accept(3) modbus_tcp_pi_listen(3)

## AUTHORS

The libmodbus documentation was written by Stéphane Raimbault <stephane.raimbault@gmail.com>