= nn_connect(3compat) // // Copyright 2018 Staysail Systems, Inc. // Copyright 2018 Capitar IT Group BV // // This document is supplied under the terms of the MIT License, a // copy of which should be located in the distribution where this // file was obtained (LICENSE.txt). A copy of the license may also be // found online at https://opensource.org/licenses/MIT. // == NAME nn_connect - connect to remote peer (compatible API) == SYNOPSIS [source, c] ---- #include int nn_connect(int sock, const char *url) ---- == DESCRIPTION The `nn_connect()` function arranges for the socket _sock_ to initiate connection to a peer at the address specified by _url_. An identifier for this socket's association with the _url_ is returned to the caller on success. This identifier can be used with xref:nn_shutdown.3compat.adoc[`nn_shutdown()`] to remove the association later. NOTE: This function is provided for API xref:nng_compat.3compat.adoc[compatibility] with legacy _libnanomsg_. Consider using the relevant xref:libnng.3.adoc[modern API] instead. NOTE: The connect operation is performed asynchronously, and may not have completed before this function returns control to the caller. IMPORTANT: Only transports supported by legacy _libnanomsg_ may be used with this function. In particular, only the schemes `tcp://`, `ipc://`, `inproc://`, and `ws://` are supported with this function. (Use the xref:libnng.3.adoc[modern API] to use other schemes.) == RETURN VALUES This function returns a positive identifier success, and -1 on error. == ERRORS [horizontal] `ECONNREFUSED`:: The connection attempt was refused. `EBADF`:: The socket _sock_ is not open. `EINVAL`:: An invalid _url_ was supplied. == SEE ALSO [.text-left] xref:nn_bind.3compat.adoc[nn_bind(3compat)], xref:nn_errno.3compat.adoc[nn_errno(3compat)], xref:nn_shutdown.3compat.adoc[nn_shutdown(3compat)], xref:nn_socket.3compat.adoc[nn_socket(3compat)], xref:nng_compat.3compat.adoc[nn_compat(3compat)], xref:nng.7.adoc[nng(7)]