В Unix TCP-соединение представляется как дескриптор файла сокета. Когда вы fork
обрабатываете, файловые дескрипторы наследуются дочерним процессом, включая сокеты TCP. (Хотя они могут быть закрыты на exec
, если дан флаг FD_CLOEXEC
с fcntl
.)
Также возможно передавать файловые дескрипторы между несвязанными процессами, используя сокет локального (Unix) домена; см этот вопрос .
Я не уверен насчет Windows.