Около 2 лет назад у меня возникла идея создать техническое решение, позволяющее людям более организованно делиться информацией и запрашивать рекомендации. Изначально я думал, что веб-приложение в виде социальной сети, где люди, которые уже знают друг друга, могут запрашивать рекомендации по поводу определенных общих интересов, и будут уведомлены только те контакты, которые разделяют такие же интересы. Размышляя над техническими аспектами приложения, я понял, что построить его поверх протокола HTTP будет очень сложно, так как люди могут захотеть поделиться не только рекомендациями в виде простого текста, но и бинарными объектами, такими как музыка, видео, pdf-файлы, и т. д. Итак, с тех пор я пытаюсь найти способ построить сетевое приложение, возможно, с собственным протоколом поверх tcp/ip или использовать уже построенный на нем в качестве транспортного уровня и клиентов для связи с этим server service.
Основная идея такова: пользователь просит порекомендовать, например, книги по языкам программирования. Затем этот запрос отправляется на центральный сервер, и сервер отвечает, отправляя обратно список своих контактов, у которых есть книги по этому вопросу. Сервер также уведомляет эти контакты о том, что пользователь запрашивает рекомендации по книгам по программированию.

Я думаю, что для удовлетворения этих требований больше подходит одноранговый протокол.
Кто-нибудь из вас строил что-то подобное? Если да, то какие технические книги, документы или статьи вы читали, чтобы понять, как реализовать сетевые аспекты?

Я думаю, что для удовлетворения этих требований больше подходит одноранговый протокол.
Кто-нибудь из вас строил что-то подобное? Если да, то какие технические книги, документы или статьи вы читали, чтобы понять, как реализовать сетевые аспекты?