Клиент/сервер - это шаблон общей архитектуры (подобно фабрике, делегированию, наследованию, мосту - шаблоны проектирования). То, что вы, вероятно, хотите, это библиотека, позволяющая устранить скуку упаковки и распаковку ваших данных в формате, который можно отправить по кабелю. Я настоятельно рекомендую вам ознакомиться с библиотекой protocol buffers, которая широко используется в Google и выпущена как открытый источник. Он автоматически кодирует/декодирует данные, и это позволяет программам, написанным на разных языках, отправлять и получать сообщения одного типа со всей грязной работой, выполненной для вас автоматически. Protobuf имеет дело только с кодировкой, а не с отправкой и получением. Для этого вы можете использовать примитивные сокеты (настоятельно рекомендуется против этого) или асинхронную библиотеку ввода-вывода .
Я должен добавить, что вы, кажется, путаетесь в значении клиента и сервера, поскольку на диаграмме у вас есть приложение, говорящее с клиентом, который разговаривает с сервером, который разговаривает с другим приложением. Это не верно. Ваше приложение является клиентом (или сервером). Клиент/сервер - это просто роль, которую ваше приложение использует во время общения. Приложение считается клиентом, когда оно инициирует соединение или запрос, в то время как приложение считается сервером, когда оно ожидает и обрабатывает входящие запросы. Клиент/сервер - это просто условия для описания поведения приложения.
Я считаю, что вы можете сделать это, используя программирование сокетов. на самом деле я делал подобное клиент-серверное приложение в течение моих лет колледжа, и он работал отлично. – SoftwareGeek
какие-либо показатели того, какие данные вы планируете передавать? Это может повлиять и на выбор. Необходимо ли постоянно поддерживать соединение между ПК? Скорость? Надежность? Etc и т. Д. –