# nng_socket_id(3) Manual Page

## NAME

nng_socket_id - return numeric socket identifier

## SYNOPSIS

    #include <nng/nng.h>

    int nng_socket_id(nng_socket s);

## DESCRIPTION

The `nng_socket_id()` function returns a positive identifier for the socket s, if it is valid. Otherwise it returns `-1`.

| A socket is considered valid if it was ever opened with a protocol constructor, such as the `nng_req0_open()` function. Sockets that are allocated on the stack or statically should be initialized with the macro `NNG_SOCKET_INITIALIZER` to ensure that they cannot be confused with a valid socket before they are opened.

## RETURN VALUES

This function returns the positive value for the socket identifier, or `-1` if the socket is invalid.

## ERRORS

None.

## SEE ALSO

nng_socket(5), nng(7)