Одноранговый обмен файлами через веб-сокеты

Это своего рода теоретический вопрос, однако мне нужно добавить возможности обмена файлами в мое приложение для чата с веб-сокетом. Я мог бы использовать такой сервис, как Amazon S3, чтобы загрузить файл для совместного использования, опубликовав ссылку на файл, но это включает в себя загрузку файла, который может быть уже доступен через локальную сеть (например, обмен файлом между коллегами),

Поэтому у меня возникла мысль, что можно каким-то образом туннелировать загрузку / загрузку / передачу через уже существующее соединение через веб-сокет. Тем не менее, я не знаю достаточно о передаче файлов HTTP, чтобы знать, как это сделать. Существуют ли ограничения для веб-сокетов, которые могут помешать этому?

Я использую Ruby и EventMachine для моей текущей реализации веб-сокета. Если бы вы смогли предоставить обзор высокого уровня, чтобы начать меня, это было бы очень ценно.

2 ответа

Решение

Чтобы разрешить общий доступ к файлам без необходимости выгружать их на сервер (т.е. коллег), теперь вы можете использовать API WebRTC DataChannel для создания однорангового соединения.

Вот пример проекта, который использует только веб-сокеты и API файлов javascript для передачи файлов: http://www.github.com/thirtysixthspan/waterunderice

Другие вопросы по тегам