summaryrefslogtreecommitdiff
path: root/docs/ref/compat/nn_connect.adoc
blob: 7f7d78563941e8b9722ec21837ce5f031c0ee938 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
## nn_connect

Connect to remote peer (compatible API).

### Synopsis

```c
#include <nanomsg/nn.h>

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.adoc[`nn_shutdown`] to remove the association later.

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.

### 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

xref:nn_bind.adoc[nn_bind],
xref:nn_errno.adoc[nn_errno],
xref:nn_shutdown.adoc[nn_shutdown],
xref:nn_socket.adoc[nn_socket]