.\" -*- 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. .\" .\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" %%%LICENSE_END .\" .\" .\" 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. .\" .\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" %%%LICENSE_END .\" .\" Modified 1997-01-31 by Eric S. Raymond .\" Modified 1998, 1999 by Andi Kleen .\" Modified 2004-06-23 by Michael Kerrisk .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH CONNECT 2 "15. September 2017" Linux Linux\-Programmierhandbuch .SH BEZEICHNUNG connect \- eine Verbindung mit einem Socket starten .SH ÜBERSICHT .nf \fB#include \fP /* Siehe ANMERKUNGEN */ .br \fB#include \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 BESCHREIBUNG Der Systemaufruf \fBconnect\fP() verbindet das durch den Dateideskriptor \fIsockfd\fP referenzierte Socket mit der durch \fIaddr\fP angegebenen Adresse. Das Argument \fIaddrlen\fP legt die Größe von \fIaddr\fP fest. Das Format der Adresse in \fIaddr\fP wird durch den Adressraum des Sockets \fIsockfd\fP festgelegt; siehe \fBsocket\fP(2) für weitere Details. .PP Falls das Socket \fIsockfd\fP vom Typ \fBSOCK_DGRAM\fP ist, dann werden Datagramme standardmäßig an die Adresse \fIaddr\fP gesendet werden und auch nur von dieser Adresse empfangen. Falls das Socket vom Typ \fBSOCK_STREAM\fP oder \fBSOCK_SEQPACKET\fP ist, versucht dieser Aufruf eine Verbindung mit dem Socket herzustellen das an die angebene Adresse \fIaddr\fP gebunden ist. .PP Generell können verbindungsbasierte Protokoll\-Sockets \fBconnect\fP() nur einmal erfolgreich aufrufen; verbindungslose Protokoll\-Sockets können \fBconnect\fP() mehrmals aufrufen, um ihre Zuordnungen zu ändern. Verbindungslose Sockets können ihre Zuordnung lösen, indem sie bei der Verbindung mit einer Adresse die Komponente \fIsa_family\fP von \fIsockaddr\fP auf \fBAF_UNSPEC\fP setzen (unter Linux seit Kernel 2.2 unterstützt). .SH RÜCKGABEWERT Falls die Verbindung oder das Anbinden gelingt, wird Null zurückgeliefert. Im Fehlerfall wird \-1 zurückgeliefert und \fIerrno\fP entsprechend gesetzt. .SH FEHLER Die folgenden Fehler sind nur allgemeine Socket\-Fehler. Es mag andere, domänenspezifische Fehlercodes geben. .TP \fBEACCES\fP Für UNIX\-Domain\-Sockets, die durch einen Pfadnamen identifiziert werden: Auf die Socket\-Datei wurde das Schreiben nicht gestattet oder das Suchen in einer der Dateien des Pfad\-Präfixes wurde verwehrt (siehe auch \fBpath_resolution\fP(7)). .TP \fBEACCES\fP, \fBEPERM\fP Der Benutzer versuchte eine Verbindung zu einer Broadcast\-Adresse, ohne den Socket\-Broadcast\-Schalter aktiviert zu haben oder die Verbindungsanfrage scheiterte wegen einer lokalen Firewall\-Regel. .TP \fBEADDRINUSE\fP Die lokale Adresse ist bereits in Benutzung. .TP \fBEADDRNOTAVAIL\fP (Internet Domain Sockets) Das durch \fIsockfd\fP referenzierte Socket war bisher nicht an eine Adresse gebunden und beim Versuch, es an einen kurzlebigen Port zu binden, wurde festgestellt, dass alle Portnummern in dem Portbereich für kurzlebige Portnummern derzeit verwendet werden. Lesen Sie die Erörterung von \fI/proc/sys/net/ipv4/ip_local_port_range\fP in \fBip\fP(7). .TP \fBEAFNOSUPPORT\fP Die übergebene Adresse hatte nicht die korrekte Adressfamilie in ihrem Feld \fIsa_family\fP. .TP \fBEAGAIN\fP Unzureichende Einträge im Routing\-Zwischenspeicher. .TP \fBEALREADY\fP Das Socket ist nicht blockierend und ein vorhergehender Verbindungsversuch wurde noch nicht beendet. .TP \fBEBADF\fP \fIsockfd\fP ist kein zulässiger offener Dateideskriptor. .TP \fBECONNREFUSED\fP Ein \fBconnect\fP() auf einem Stream\-Socket fand keinen, der auf der Adresse in der Ferne wartete. .TP \fBEFAULT\fP Die Adresse der Socket\-Struktur liegt außerhalb des Adressraums des Benutzers. .TP \fBEINPROGRESS\fP Der Socket ist nichtblockierend und die Verbindung kann nicht sofort aufgebaut werden. Der Socket kann zum Schreiben ausgewählt werden und mittels \fBselect\fP(2) oder \fBpoll\fP(2) die erfolgreiche Verbindung abgefragt werden. Nachdem \fBselect\fP(2) die Beschreibbarkeit anzeigt, lesen sie mit \fBgetsockopt\fP(2) die \fBSO_ERROR\fP\-Option auf der Ebene \fBSOL_SOCKET\fP, um festzustellen ob \fBconnect\fP() erfolgreich abgeschlossen wurde (\fBSO_ERROR\fP ist Null) oder erfolglos (\fBSO_ERROR\fP ist einer der üblichen hier aufgeführten Fehlercodes, welche die Gründe für das Scheitern angeben). .TP \fBEINTR\fP .\" For TCP, the connection will complete asynchronously. .\" See http://lkml.org/lkml/2005/7/12/254 Der Systemaufruf wurde durch ein abgefangenes Signal unterbrochen; siehe \fBsignal\fP(7). .TP \fBEISCONN\fP Der Socket ist bereits verbunden. .TP \fBENETUNREACH\fP Das Netz ist nicht erreichbar. .TP \fBENOTSOCK\fP Der Dateideskriptor \fIsockfd\fP zeigt nicht auf ein Socket. .TP \fBEPROTOTYPE\fP Die Socket\-Art unterstützt das angefragte Kommunikationsprotokoll nicht. Dieser Fehler kann beispielsweise bei dem Versuch auftreten, ein UNIX\-Domain\-Datagramm\-Socket mit einem Stream\-Socket zu verbinden. .TP \fBETIMEDOUT\fP Zeitüberschreitung (timeout) während des versuchten Verbindungsaufbaus. Der Server ist vielleicht zu beschäftigt, um neue Verbindungen aufzubauen. Beachten Sie, dass für IP\-Sockets das Timeout sehr lang sein kann, wenn auf dem Server »Syncookies« aktiviert sind. .SH "KONFORM ZU" .\" 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, POSIX.1\-2008, SVr4, 4.4BSD, (\fBconnect\fP() erschien erstmalig in 4.2BSD). .SH ANMERKUNGEN POSIX.1 erfordert nicht, dass \fI\fP eingebunden wird. Diese Header\-Datei ist in Linux nicht erforderlich. Allerdings benötigen einige historische Implementierungen (BSD) diese Header\-Datei. Es wird empfohlen, sie für portierbare Anwendungen einzubinden. .PP Für Hintergrundinformationen zum Typ \fIsocklen_t\fP siehe \fBaccept\fP(2). .PP Falls \fBconnect\fP() fehlschlägt, sollten Sie den Zustand des Sockets als unspezifiziert ansehen. Portable Anwendungen sollten das Socket schließen und ein neues für die Wiederverbindung erstellen. .SH BEISPIEL Ein Beispiel für die Verwendung von \fBconnect\fP() wird in \fBgetaddrinfo\fP(3) vorgestellt. .SH "SIEHE AUCH" \fBaccept\fP(2), \fBbind\fP(2), \fBgetsockname\fP(2), \fBlisten\fP(2), \fBsocket\fP(2), \fBpath_resolution\fP(7) .SH KOLOPHON Diese Seite ist Teil der Veröffentlichung 4.16 des Projekts Linux\-\fIman\-pages\fP. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter \%https://www.kernel.org/doc/man\-pages/. .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer und Helge Kreutzmann erstellt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an .