2012-04-11 3 views
0

У меня есть приложение с клиентом и сервером. Сервер в основном используется только для хранения имен файлов, которые имеют клиенты, так что, когда другие клиенты хотят искать файлы, они могут заходить на сервер, находить клиента, у которого есть файл, который они хотят, и получать файл, напрямую подключаясь к нему , К настоящему времени я могу получить информацию о сокетах клиента, у которой есть файл, запрошенный другим клиентом. Однако теперь я запутался в том, как подключить этих двух клиентов. Нужно ли мне создавать отдельный клиент и серверный сокет между двумя клиентами или есть другие способы.подключение двух клиентских сокетов

ответ

0

Теперь у вас есть два варианта: -

  1. Пусть сервер продолжит свою роль, и сервер может выступать в качестве посредника между двумя сторонами. Он должен загрузить файл с клиентом, который имеет его, и отправить его (через любой подходящий протокол) клиенту, который запросил файл. Это называется Client -Server Architecture. Это простой подход, и у вас есть такие преимущества, как кеширование файлов и т. Д. Если в будущем тот же самый файл запрашивается, сервер может отправить его напрямую, не спрашивая клиента.

  2. Вы можете продолжать использовать архитектуру P2P и создать отдельный сокет между двумя сторонами, это не прямолинейно и требует особого ухода, когда несколько процессов работают одновременно.

Смежные вопросы