Вам нужно быть более четким в отношении структуры процесса, чем вы сейчас. Поддерживает ли процесс сервера жизнь независимо от клиентских процессов? Слушает ли он известный номер порта? Когда первый (родительский) процесс на стороне клиента подключается к серверу?
Вы говорите, что клиент вилки ребенка, а затем сообщает серверу о дочернем PID. Связан ли ребенок с сервером? Открывает ли он независимое подключение к серверу или не выдает ли соединение родительского процесса или пытается ли дочерний и родительский сервер использовать одно соединение с сервером? Как вы координируете доступ к одному соединению?
Одна общая установка для такой системы:
- Процесс сервера запускается как демон, который прослушивает на хорошо известном или заданный порт.
- Начальный клиентский (родительский) процесс устанавливает соединение с сервером.
- Процесс вторичного клиента (дочерний) отключает унаследованное соединение и устанавливает его собственное подключение к серверу.
Есть два режима работы для подключения:
- Клиент процессы открыть соединение, написать сообщение, возможно, ждать ответа, и закрыть соединение каждый раз. Это механизм, используемый веб-браузерами, потому что веб-сервер обеспечивает соединения без состояния.
- Клиент обрабатывает соединение и сохраняет его открытым (и сервер не закрывает соединение до тех пор, пока не возникнет чрезвычайная ситуация, или клиент соглашается (или просит) закрыть его. Этот механизм обычно используется клиентами базы данных, подключающимися к сервер базы данных.
Оба режима работы - они имеют разные последствия для накладных расходов (требуется длительное время, если вы подключаетесь каждый раз) и использования ресурсов (постоянные соединения используют больше ресурсов на сервере, клиенты не подвержены серьезному воздействию)
Что это связано с HTTP? –