Нет и нет.
Гнездо не переведено в режим прослушивания, пока вы не наберете listen()
. Надо слушать, чтобы accept()
. И, как только вы слушаете, вы не можете преобразовать сокет в подключенный сокет. Вы можете закрыть сокет прослушивания и использовать dup2
, чтобы «переименовать» подключенный сокет fd в используемый сокет прослушивания - но я думаю, что вам следует пересмотреть свой дизайн, если вам это нужно.