Provided by: manpages-cs-dev_4.13-4_all 

JMÉNO
connect - inicializuj spojení soketu
POUŽITÍ
#include <sys/types.h> /* Viz POZNÁMKY */
#include <sys/socket.h>
int connect(int sockfd, const struct sockaddr *addr,
socklen_t addrlen);
POPIS
Systémové volání connect() připojí soket specifikovaný v sockfd k adrese specifikované v addr. Parametr
addrlen udává velikost addr. Formát adresy v addr je dán adresovým prostorem deskriptoru v sockfd. Viz
socket(2) pro více detailů.
Parametr sockfd je soket. Je-li jeho typ SOCK_DGRAM, pak je addr jediným místem, odkud a kam budou
přijímány, resp. posílány datagramy. Je-li typ soketu SOCK_STREAM, nebo SOCK_SEQPACKET potom se toto
volání pokusí navázat spojení se soketem, který je specifikován v addr, což je adresa v jmenném prostoru
soketu. Každý jmenný prostor interpretuje adresu v addr.
Some protocol sockets (e.g., UNIX domain stream sockets) may successfully connect() only once.
Some protocol sockets (e.g., datagram sockets in the UNIX and Internet domains) may use connect()
multiple times to change their association.
Some protocol sockets (e.g., TCP sockets as well as datagram sockets in the UNIX and Internet domains)
may dissolve the association by connecting to an address with the sa_family member of sockaddr set to
AF_UNSPEC; thereafter, the socket can be connected to another address. (AF_UNSPEC is supported on Linux
since kernel 2.2.)
NÁVRATOVÉ HODNOTY
Je-li spojení navázáno, je vrácena 0, jinak -1 a externí proměnná errno je příslušně nastavena.
CHYBOVÉ STAVY
Tento seznam je pouze všeobecný. Mohou existovat další specifické chyby pro použitý jmenný prostor.
EACCES Pro sokety UNIXové domény, které jsou identifikovány jménem: je odmítnuto zapisování do souboru
specifikovaného soketem, nebo je odmítnuto právo vyhledávat v adresářích specifikovaných cestou.
(Viz path_resolution(7).)
EACCES, EPERM
Uživatel se pokusil připojit k broadcastové adrese, aniž by měl povolen broadcastový příznak na
soketu, nebo požadavek na spojení byl odmítnut kvůli lokálnímu pravidlu firewallu.
EACCES can also be returned if an SELinux policy denied a connection (for example, if there is a
policy saying that an HTTP proxy can only connect to ports associated with HTTP servers, and the
proxy tries to connect to a different port). dd
EADDRINUSE
Adresa je již používána.
EADDRNOTAVAIL
(Internet domain sockets) The socket referred to by sockfd had not previously been bound to an
address and, upon attempting to bind it to an ephemeral port, it was determined that all port
numbers in the ephemeral port range are currently in use. See the discussion of
/proc/sys/net/ipv4/ip_local_port_range in ip(7).
EAFNOSUPPORT
Poskytnutá adresa nemá správně specifikovanou rodinu adres v poli sa_family.
EAGAIN For nonblocking UNIX domain sockets, the socket is nonblocking, and the connection cannot be
completed immediately. For other socket families, there are insufficient entries in the routing
cache.
EALREADY
Soket je neblokující a předchozí pokus o spojení ještě nebyl dokončen.
EBADF sockfd is not a valid open file descriptor.
ECONNREFUSED
A connect() on a stream socket found no one listening on the remote address.
EFAULT Adresa soketu je mimo adresový prostor procesu.
EINPROGRESS
The socket is nonblocking and the connection cannot be completed immediately. (UNIX domain sockets
failed with EAGAIN instead.) It is possible to select(2) or poll(2) for completion by selecting
the socket for writing. After select(2) indicates writability, use getsockopt(2) to read the
SO_ERROR option at level SOL_SOCKET to determine whether connect() completed successfully
(SO_ERROR is zero) or unsuccessfully (SO_ERROR is one of the usual error codes listed here,
explaining the reason for the failure).
EINTR Systémové volání bylo přerušeno doručením signálu. Viz signal(7).
EISCONN
Soket je již spojen.
ENETUNREACH
Síť není dosažitelná.
ENOTSOCK
The file descriptor sockfd does not refer to a socket.
EPROTOTYPE
The socket type does not support the requested communications protocol. This error can occur, for
example, on an attempt to connect a UNIX domain datagram socket to a stream socket.
ETIMEDOUT
Timeout při pokusu o navázání spojení. Server může být příliš zaneprázdněn a není schopen přijmou
další spojení. Vězte, že pro IP sokety může být timeout velmi dlouhý, pokud jsou syncookies
povoleny na straně serveru.
SPLŇUJE STANDARDY
POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD, (connect() se poprvé objevila ve 4.2BSD).
POZNÁMKY
POSIX.1 nevyžaduje vložení <sys/types.h> a proto není tento hlavičkový soubor v Linuxu vyžadován. Nicméně
některé starší (BSD) implementace jej vyžadují a v přenositelných aplikacích by také bylo tento
hlavičkový soubor zachovat.
For background on the socklen_t type, see accept(2).
If connect() fails, consider the state of the socket as unspecified. Portable applications should close
the socket and create a new one for reconnecting.
PŘÍKLADY
Příklad použití connect() je v getaddrinfo(3).
DALŠÍ INFORMACE
accept(2), bind(2), getsockname(2), listen(2), socket(2), path_resolution(7), selinux(8)
TIRÁŽ
Tato stránka je součástí projektu Linux man-pages v5.10. Popis projektu a informace o hlášení chyb
najdete na https://www.kernel.org/doc/man-pages/.
P◈EKLAD
Překlad této příručky do španělštiny vytvořili Pavel Heimlich <tropikhajma@gmail.com>
Tento překlad je bezplatná dokumentace; Přečtěte si GNU General Public License Version 3 nebo novější
ohledně podmínek autorských práv. Neexistuje ŽÁDNÁ ODPOVĚDNOST.
Pokud narazíte na nějaké chyby v překladu této příručky, pošlete e-mail na adresu translation-team-
cs@lists.sourceforge.net.
Linux 11. dubna 2020 CONNECT(2)