.\" -*- coding: UTF-8 -*- .\" Copyright 1983-1991, The Regents of the University of California. .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: BSD-4-Clause-UC .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH accept 2 "29. oktober 2025" "Linux man\-pages 6.17" .SH NAVN accept, accept4 \- accepter en forbindelse på en sokkel .SH BIBLIOTEK C\-standardbibliotek (\fIlibc\fP,\ \fI\-lc\fP) .SH SYNOPSIS .nf \fB#include \fP .P \fBint accept(int \fP\fIsockfd\fP\fB, struct sockaddr *_Nullable restrict \fP\fIaddr\fP\fB,\fP \fB socklen_t *_Nullable restrict \fP\fIaddrlen\fP\fB);\fP .P \fB#define _GNU_SOURCE\fP /* Se feature_test_macros(7) */ \fB#include \fP .P \fBint accept4(int \fP\fIsockfd\fP\fB, struct sockaddr *_Nullable restrict \fP\fIaddr\fP\fB,\fP \fB socklen_t *_Nullable restrict \fP\fIaddrlen\fP\fB, int \fP\fIflags\fP\fB);\fP .fi .SH BESKRIVELSE Systemkaldet \fBaccept\fP() bruges med forbindelsesbaserede sokkeltyper (\fBSOCK_STREAM\fP, \fBSOCK_SEQPACKET\fP). Det udtrækker den første forbindelsesanmodning på køen for afventende forbindelser for den lyttende sokkel, \fIsockfd\fP, opretter en ny forbundet sokkel og returnerer en ny fildeskriptor, der refererer til den sokkel. Den netop oprettede sokkel er ikke i lyttetilstanden. Den oprindelige sokkel \fIsockfd\fP er upåvirket af dette kald. .P Argumentet \fIsockfd\fP er en sokkel, der er blevet oprettet med \fBsocket\fP(2), bundet til en lokal adresse med \fBbind\fP(2), og lytter efter forbindelser efter en \fBlisten\fP(2). .P Argumentet \fIaddr\fP er en peger til strukturen \fIsockaddr\fP. Denne struktur er udfyldt med adressen af modpartsoklen, som kendt af kommunikationslaget. Det præcise format for adressen returneret \fIaddr\fP bestemmes af soklens adressefamilie (se \fBsocket\fP(2) og de respektive protokolmanualsider). Når \fIaddr\fP er NULL, udfyldes intet; i det tilfælde, bruges \fIaddrlen\fP ikke, og skal også være NULL. .P Argumentet \fIaddrlen\fP er et værdi\-resultat argument: kalderen skal igangsætte det for at have størrelsen (i byte) for strukturen pegende mod \fIaddr\fP; ved returnering vil det indeholde den faktiske størrelse for modpartsadressen. .P Den returnerede adresse er forkortet hvis bufferen tilbudt er for lille; i dette tilfælde vil \fIaddrlen\fP returnere en værdi større end den var leveret til kaldet. .P Hvis ingen ventende forbindelser er til stede på køen og soklen ikke er markeret som ikkeblokerende, så blokerer \fBaccept\fP() kalderen indti len forbindelse er til stede. Hvis soklen er markeret som ikkeblokernede og ingen igangværende forbindleser er til stede på køen, så fejler \fBaccept\fP() med fejlen \fBEAGAIN\fP eller \fBEWOULDBLOCK\fP. .P For at blive påmindet om indgående forbindelser på en sokkel, så kan du bruge \fBselect\fP(2), \fBpoll\fP(2) eller \fBepoll\fP(7). En læsbar hændelse vil blive leveret, når en ny forbindelse forsøges og du kan så kalde \fBaccept\fP() for at få en sokkel for den forbindelse. Alternativt kan du angive soklen til at levere \fBSIGIO\fP når aktivitet sker på en sokkel; se \fBsocket\fP(7) for detaljer. .P Hvis \fIflag\fP er nul, så er \fBaccept4\fP() det samme som \fBaccept\fP(). De følgende værdier være bitwise ORed i \fIflag\fP for at hente forskellig opførelse: .TP 16 \fBSOCK_NONBLOCK\fP Angiv filstatusflaget \fBO_NONBLOCK\fP på den åbne filbeskrivelse (se \fBopen\fP(2)) refereret til af den nye fildeskriptor. Brug af dette flag gemmer ekstra kald til \fBfcntl\fP(2) for at opnå det samme resultat. .TP \fBSOCK_CLOEXEC\fP Angiv close\-on\-exec\-flaget (\fBFD_CLOEXEC\fP) på den nye fildeskriptor. Se beskrivelsen for flaget \fBO_CLOEXEC\fP i \fBopen\fP(2) for årsager til hvorfor dette kan være nyttigt. .SH RETURVÆRDI Ved succes returnerer disse systemkald en fildeskriptor for den accepterede sokkel (et ikkenegativ heltal). Ved fejl returneres \-1, \fIerrno\fP angives for at indikere fejlen og \fIaddrlen\fP forbliver uændret. .SS Fejlhåndtering Linux \fBaccept\fP() (og \fBaccept4\fP()) sender allerede igangværende netværksfejl på den nye sokkel som en fejlkode fra \fBaccept\fP(). Denne opførelse er forskellig fra andre BSD\-sokkelimplementeringer. For troværdig operation bør programmet registrere netværksfejl defineret for protokollen efter \fBaccept\fP() og behandle dem som \fBEAGAIN\fP ved at prøve igen. I tilfælde af TCP/IP, er disse \fBENETDOWN\fP, \fBEPROTO\fP, \fBENOPROTOOPT\fP, \fBEHOSTDOWN\fP, \fBENONET\fP, \fBEHOSTUNREACH\fP, \fBEOPNOTSUPP\fP og \fBENETUNREACH\fP. .SH FEJL .TP \fBEAGAIN\fP eller \fBEWOULDBLOCK\fP .\" Actually EAGAIN on Linux Soklen er markeret ikkeblokerende og ingen forbindelser er til stede for accept. POSIX.1\-2001 og POSIX.1\-2008 tillader ikke at fejl returneres i dette tilfælde og kræver ikke at disse konstanter har den samme værdi, så et flytbart program skal tjekke for begge muligheder. .TP \fBEBADF\fP \fIsockfd\fP er ikke en åben fildeskriptor. .TP \fBECONNABORTED\fP En forbindelse er blevet afbrudt. .TP \fBEFAULT\fP Argumentet \fIaddr\fP er ikke en skrivbar del af brugeradresserummet. .TP \fBEINTR\fP Systemkaldet blev afbrudt af et signal, der blev fanget før en gyldig forbindelse ankom; se \fBsignal\fP(7). .TP \fBEINVAL\fP Sokket lytter ikke efter forbindelser, eller \fIaddrlen\fP er ugyldig (f.eks. er negativ). .TP \fBEINVAL\fP (\fBaccept4\fP()) ugyldig værdi i \fIflag\fP. .TP \fBEMFILE\fP Begrænsningen per proces for antallet af åbne fildeskriptorer er blevet nået. .TP \fBENFILE\fP Systemets begrænsning på det samlede antal åbne filer er nået. .TP \fBENOBUFS\fP .TQ \fBENOMEM\fP Ikke nok ledig hukommelse. Dette betyder ofte at hukommelsesallokeringen er begrænset af sokkelbufferbegrænsningerne, ikke af systemhukommelsen. .TP \fBENOTSOCK\fP Fildeskriptoren \fIsockfd\fP refererer ikke til en sokkel. .TP \fBEOPNOTSUPP\fP Den refererede sokkel er ikke af typen \fBSOCK_STREAM\fP. .TP \fBEPERM\fP Brandmursregler forbyder forbindelse. .TP \fBEPROTO\fP Protokolfejl. .P Derudover kan netværksfejl for den nye sokkel og som defineret for protokollen blive returneret. Diverse Linuxkerner kan returnere andre fejl såsom \fBENOSR\fP, \fBESOCKTNOSUPPORT\fP, \fBEPROTONOSUPPORT\fP, \fBETIMEDOUT\fP. Værdien \fBERESTARTSYS\fP kan ses under en registrering. .SH VERSIONER .\" Some testing seems to show that Tru64 5.1 and HP-UX 11 also .\" do not inherit file status flags -- MTK Jun 05 På Linux arver den nye sokkel returneret af \fBaccept\fP() \fIikke\fP filstatusflag såsom \fBO_NONBLOCK\fP og \fBO_ASYNC\fP fra den lyttende sokkel. Denne opførelse er forskellig fra den kanoniske BSD\-sokkelimplementering. Flytbare programmer bør altid afhænge af arv eller ikke\-arvelighed for filstatusflag og altid eksplicit angive alle krævede flag på soklen returneret fra \fBaccept\fP(). .SH STANDARDER POSIX.1\-2024. .SH HISTORIK .TP \fBaccept\fP() .\" The BSD man page documents five possible error returns .\" (EBADF, ENOTSOCK, EOPNOTSUPP, EWOULDBLOCK, EFAULT). .\" POSIX.1-2001 documents errors .\" EAGAIN, EBADF, ECONNABORTED, EINTR, EINVAL, EMFILE, .\" ENFILE, ENOBUFS, ENOMEM, ENOTSOCK, EOPNOTSUPP, EPROTO, EWOULDBLOCK. .\" In addition, SUSv2 documents EFAULT and ENOSR. POSIX.1\-2001, SVr4, 4.4BSD (\fBaccept\fP() var første gang i 4.2BSD). .TP \fBaccept4\fP() POSIX.1\-2024. Linux 2.6.28, glibc 2.10. .SH NOTER Der er ikke altid en forbindelse ventende efter en \fBSIGIO\fP er leveret eller \fBselect\fP(2), \fBpoll\fP(2) eller \fBepoll\fP(7) returnerer en læsbarhedshændelse da forbindelsen kan være fjernet af en asynkron netværksfejl eller en anden tråd før \fBaccept\fP() kaldes. Hvis dette sker, så vil kaldet blokere ventende på at den næste forbindelse ankommer. For at sikre at \fBaccept\fP() aldrig blokerer, skal den sendte sokkel \fIsockfd\fP have flaget \fBO_NONBLOCK\fP angivet (se \fBsocket\fP(7)). .P .\" For bestemte protokoller, der kræver en eksplicit bekræftelse, såsom DECnet, kan \fBaccept\fP() ses som blot afkørende den næste forbindelsesanmodning og ikke implementere bekræftelse. Bekræftelse kan være underforstået som en normal læs eller skriv på den nye fildeskriptor, og afvigelse kan være underforstået ved at lukke den nye sokkel. I øjeblikket har kun DECnet denne semantik på Linux. .SS Socklen_t\-typen .\" such as Linux libc4 and libc5, SunOS 4, SGI .\" SunOS 5 has 'size_t *' I den originale BSD\-sokkelimplementering (og på andre ældre systemer) blev det tredje argument for \fBaccept\fP() erklæret som en \fIint\ *\fP. En POSIX.1g\-kladdestandard ønskede at ændre det til en \fIsize_t\ *\fP; senere POSIX\-standard og glibc 2.x har \fIsocklen_t\ * \fP. .SH EKSEMPLER Se \fBbind\fP(2). .SH "SE OGSÅ" \fBbind\fP(2), \fBconnect\fP(2), \fBlisten\fP(2), \fBselect\fP(2), \fBsocket\fP(2), \fBsocket\fP(7) .PP .SH OVERSÆTTELSE Oversættere af denne manual til dansk Joe Dalton . .PP Denne oversættelse er gratis dokumentation; læs .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3 .UE eller nyere for ophavsretbetingelser. Der er INGEN ANSVAR. .PP Hvis du støder på fejl i oversættelsen af ​​denne vejledning, skal du sende en besked til .MT debian-l10n-danish@lists.debian.org .ME .