Я разрабатываю приложение подачи, которое выполняет передачу файлов с использованием библиотеки передачи файлов, скажем, cURL.
Клиентское приложение также предоставит имя файла для передачи.
Клиенту также требуется информация о ходе передачи файла.
Пожалуйста, предложите, какой механизм IPC лучше всего подходит для такого взаимодействия клиент-сервер?
Также могу ли я делиться объектами Class между этими двумя процессами?
Я бы пошел на общую память. Вы можете использовать разделяемую память в качестве содержимого объекта.
Я бы предложил пойти на Sockect общение. Возможно, вам придется кодировать немного больше, но это сценарий клиент-сервер, где клиент-сервер может находиться на другом компьютере, это будет общая программа. Имейте в виду, как работает scp.
Так как кажется, что вы запускаете оба процесса в одном окне, вы можете использовать общую память. Однако это может быть неудобно для использования, так как вам нужно синхронизировать доступ к памяти и иметь возможность уведомлять сервер, когда клиент записал в память правильные данные.
Из-за этого вам лучше пойти на розетку. Он будет обрабатывать двустороннюю связь для вас и предоставит клиенту простой способ обнаружить сервер. Кроме того, если вы в конечном итоге перенесете процесс сервера на другой компьютер, для его работы не требуется слишком много изменений.