Краткий ответ: Нет .
Справочная страница accept()
объясняет:
Системный вызов accept()
используется с типами сокетов на основе соединений (SOCK_STREAM
, SOCK_SEQPACKET
).Он извлекает первый запрос на подключение в очереди ожидающих соединений для прослушивающего сокета, sockfd
, создает новый подключенный сокет и возвращает новый дескриптор файла, ссылающийся на этот сокет .Вновь созданный сокет не находится в состоянии прослушивания.Исходный сокет sockfd
не затрагивается этим вызовом.
Именно этот новый дескриптор сокета возвращается.
Аргумент sockfd
являетсясокет, созданный с помощью socket()
, связанный с локальным адресом с bind()
и прослушивающий соединения после вызова listen()
.
Возвращенный дескриптор не существует до вызова accept()
.