.\" -*- coding: UTF-8 -*-
.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu)
.\" Portions extracted from /usr/include/sys/socket.h, which does not have
.\" any authorship information in it.  It is probably available under the GPL.
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
.\" Other portions are from the 6.9 (Berkeley) 3/10/91 man page:
.\"
.\" Copyright (c) 1983 The Regents of the University of California.
.\" All rights reserved.
.\"
.\" SPDX-License-Identifier: BSD-4-Clause-UC
.\"
.\" Modified 1997-01-31 by Eric S. Raymond <esr@thyrsus.com>
.\" Modified 1998, 1999 by Andi Kleen
.\" Modified 2004-06-23 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH connect 2 "30 marca 2023 r." "Linux man\-pages 6.05.01" 
.SH NAZWA
connect \- inicjuje połączenie poprzez gniazdo
.SH BIBLIOTEKA
Standardowa biblioteka C (\fIlibc\fP, \fI\-lc\fP)
.SH SKŁADNIA
.nf
\fB#include <sys/socket.h>\fP
.PP
\fBint connect(int \fP\fIsockfd\fP\fB, const struct sockaddr *\fP\fIaddr\fP\fB,\fP
\fB            socklen_t \fP\fIaddrlen\fP\fB);\fP
.fi
.SH OPIS
Wywołanie systemowe \fBconnect\fP()  łączy gniazdo określone deskryptorem pliku
\fIsockfd\fP z adresem podanym jako \fIaddr\fP. Argument \fIaddrlen\fP określa
rozmiar \fIaddr\fP. Format adresu \fIaddr\fP zależy od przestrzeni adresowej
gniazda \fIsockfd\fP; więcej szczegółów w podręczniku \fBsocket\fP(2).
.PP
Jeśli gniazdo \fIsockfd\fP jest typu \fBSOCK_DGRAM\fP, to adres \fIaddr\fP jest
adresem, do którego domyślnie przesyłane są datagramy i jedynym adresem, z
którego datagramy są odbierane. Jeśli gniazdo jest typu \fBSOCK_STREAM\fP lub
\fBSOCK_SEQPACKET\fP, to to wywołanie próbuje nawiązać połączenie z gniazdem
skojarzonym z adresem podanym w \fIaddr\fP.
.PP
Gniazda niektórych protokołów (np. gniazda strumieniowe dziedziny Uniksa)
mogą pomyślnie połączyć się za pomocą \fBconnect\fP() tylko raz.
.PP
Gniazda niektórych protokołów (np. gniazda datagramowe w dziedzinach Uniksa
i Internetu) mogą użyć \fBconnect\fP() wielokrotnie, aby zmienić swoje
przypisanie.
.PP
Gniazda niektórych protokołów (np. gniazda TCP oraz gniazda datagramowe w
dziedzinach Uniksa i Internetu) mogą zniszczyć powiązanie przez łączenie się
z adresem, w którym pole \fIsa_family\fP struktury \fBsockaddr\fP ma wartość
\fBAF_UNSPEC\fP; następnie gniazdo można połączyć z innym adresem (\fBAF_UNSPEC\fP
jest obsługiwane od Linuksa 2.2).
.SH "WARTOŚĆ ZWRACANA"
Jeśli połączenie lub przywiązanie uda się, zwracane jest zero. Przy błędzie,
zwracane jest \-1 i ustawiane jest \fIerrno\fP wskazując błąd.
.SH BŁĘDY
Następujące błędy to jedynie ogólne błędy gniazd. Mogą występować również
inne, specyficzne dla domeny kody błędów.
.TP 
\fBEACCES\fP
W przypadku gniazd domeny Uniksa identyfikowanych ścieżką: Odmówiono
uprawnienia do zapisu pliku gniazda lub odmówiono uprawnienia wyszukania dla
jednego z katalogów w ścieżce (zob. też \fBpath_resolution\fP(7)).
.TP 
\fBEACCES\fP, \fBEPERM\fP
Użytkownik próbował podłączyć się do adresu rozgłoszeniowego (broadcast) bez
włączonego znacznika \[Bq]broadcast\[rq] dla gniazda lub też połączenie nie
udało się z powodu lokalnej reguły zapory sieciowej.
.TP 
\fBEACCES\fP
Błąd może być zwrócony również gdy reguły SELinux odmówiły połączenia
(np. gdy istnieje reguła określająca, że pośrednik HTTP może połączyć się
tylko z portem przypisanym serwerom HTTP, a pośrednik próbuje połączyć się z
innym portem).
.TP 
\fBEADDRINUSE\fP
Adres lokalny już jest wykorzystywany.
.TP 
\fBEADDRNOTAVAIL\fP
(gniazda domeny Internet)  Gniazdo określone w \fIsockfd\fP nie było wcześniej
skojarzone z adresem i przy próbie skojarzenia z portem dynamicznym
(efemerycznym), okazało się, że wszystkie numery portów w zakresie portów
dynamicznych są aktualnie używane. Więcej informacji w opisie pliku
\fI/proc/sys/net/ipv4/ip_local_port_range\fP w podręczniku \fBip\fP(7).
.TP 
\fBEAFNOSUPPORT\fP
Przekazany adres nie miał prawidłowej rodziny adresów w swoim polu
\fIsa_family\fP.
.TP 
\fBEAGAIN\fP
W przypadku nieblokujących gniazd domeny Uniksa: gniazdo jest nieblokujące,
a połączenie nie może być natychmiast zestawione. W przypadku gniazd z
innych rodzin: istnieje niewystarczająca liczba wpisów w buforze trasowania.
.TP 
\fBEALREADY\fP
Gniazdo jest nieblokujące, a poprzednia próba połączenia nie została
zakończona.
.TP 
\fBEBADF\fP
\fIsockfd\fP nie jest prawidłowym indeksem tablicy deskryptorów.
.TP 
\fBECONNREFUSED\fP
\fBconnect\fP() w przypadku gniazda strumieniowego nie znalazło nikogo
nasłuchującego na zdalnym adresie.
.TP 
\fBEFAULT\fP
Adres struktury gniazda znajduje się poza przestrzenią adresową użytkownika.
.TP 
\fBEINPROGRESS\fP
Gniazdo jest nieblokujące, a połączenie nie może zostać zrealizowane
natychmiast (gniazda domeny Uniksa zwracają wówczas inny błąd:
\fBEAGAIN\fP). Jest możliwe wykonanie \fBselect\fP(2) lub \fBpoll\fP(2) w celu
dokończenia poprzez wybranie gniazda do zapisu. Po tym, jak \fBselect\fP(2)
wskaże zapisywalność, należy użyć \fBgetsockopt\fP(2), aby odczytać opcję
\fBSO_ERROR\fP z poziomu \fBSOL_SOCKET\fP w celu określenia, czy \fBconnect\fP()
zakończyło się pomyślnie (\fBSO_ERROR\fP będzie zerem) lub niepomyślnie
(\fBSO_ERROR\fP będzie jednym ze typowych, wymienionych powyżej kodów błędów,
wyjaśniających przyczynę błędu).
.TP 
\fBEINTR\fP
.\" For TCP, the connection will complete asynchronously.
.\" See http://lkml.org/lkml/2005/7/12/254
Wywołanie systemowe zostało przerwane przechwyconym sygnałem;
zob. \fBsignal\fP(7).
.TP 
\fBEISCONN\fP
Gniazdo już jest połączone.
.TP 
\fBENETUNREACH\fP
Sieć jest nieosiągalna.
.TP 
\fBENOTSOCK\fP
Deskryptor pliku \fIsockfd\fP nie odnosi się do gniazda.
.TP 
\fBEPROTOTYPE\fP
Typ gniazda nie obsługuje żądanego protokołu komunikacji. Błąd ten może
wystąpić np. przy próbie połączenia gniazda datagramowego domeny Uniksa z
gniazdem strumieniowym.
.TP 
\fBETIMEDOUT\fP
Przeterminowanie próby połączenia. Serwer może być zbyt zajęty, aby
przyjmować nowe połączenia. Dla gniazd IP czas przeterminowania może być
bardzo długi, gdy na serwerze włączone są \[Bq]syncookies\[rq].
.SH STANDARDY
POSIX.1\-2008.
.SH HISTORIA
.\" SVr4 documents the additional
.\" general error codes
.\" .BR EADDRNOTAVAIL ,
.\" .BR EINVAL ,
.\" .BR EAFNOSUPPORT ,
.\" .BR EALREADY ,
.\" .BR EINTR ,
.\" .BR EPROTOTYPE ,
.\" and
.\" .BR ENOSR .
.\" It also
.\" documents many additional error conditions not described here.
POSIX.1\-2001, SVr4, 4.4BSD, (\fBconnect\fP() pojawiło się pierwotnie w 4.2BSD).
.SH UWAGI
Jeśli \fBconnect\fP() zawiedzie, należy uznać stan gniazda za
nieokreślony. Przenośne aplikacje powinny zamknąć gniazdo i utworzyć nowe w
celu ponownego połączenia.
.SH PRZYKŁADY
Przykładowe użycie \fBconnect\fP() pokazano w \fBgetaddrinfo\fP(3).
.SH "ZOBACZ TAKŻE"
\fBaccept\fP(2), \fBbind\fP(2), \fBgetsockname\fP(2), \fBlisten\fP(2), \fBsocket\fP(2),
\fBpath_resolution\fP(7), \fBselinux\fP(8)
.PP
.SH TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są:
Przemek Borys <pborys@dione.ids.pl>,
Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl>
i
Michał Kułach <michal.kulach@gmail.com>
.
.PP
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach
licencji można uzyskać zapoznając się z
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License w wersji 3
.UE
lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
.PP
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy
dyskusyjnej
.MT manpages-pl-list@lists.sourceforge.net
.ME .
