Подключение к удаленному серверу с помощью Angular2 - PullRequest
0 голосов
/ 06 октября 2018

Я создал веб-приложение, использующее Angular2, и хочу получить файлы (видео) с удаленного сервера (который использует sftp).В частности, я хочу подключиться к серверу через IP-адрес и порт 22 с аутентификацией пользователя / пароля.Как я могу установить это соединение?

Спасибо

1 Ответ

0 голосов
/ 06 октября 2018

Обычным подходом для чего-то подобного является создание собственного внутреннего сервера.

Сделайте запрос на свой собственный внутренний сервер, отправив все необходимые данные.

Тогда вашсервер будет делать sftp и получать видео через sftp.Как только он получит видео, он будет доступен через http.

Как правило, это может выглядеть примерно так:

browser ---> HTTP ---> ваш сервер ----> SFTP ----> удаленный сервер

затем для ответа:

удаленный сервер ---> видео ---> ваш сервер

Теперь ям, если предположить, что загрузка видео с удаленного сервера займет некоторое время.

Существует два возможных подхода к решению проблемы задержки.

(1) Предварительная загрузка всех видео на вашсервер.Таким образом, когда видео запрашивается браузером, оно должно быть доступно сразу.

Это может быть невозможно, если видео слишком много!

(2) После того, как браузер сделает видеозапрос, вернуть HTTP 202 Accepted ответ.Этот ответ говорит, что я делаю то, что вы просили, но это займет некоторое время.Кроме того, в ответе содержится URL-адрес, по которому можно проверить, готово ли видео.Затем вы опрашиваете этот URL, чтобы увидеть, доступно ли сейчас видео или нет.Или вы можете использовать веб-сокеты, и тогда ваш сервер может сообщить клиенту (браузеру), когда видео доступно.

Для внутреннего сервера я бы порекомендовал экспресс-сервер Node.js.А затем используйте пакет npm, например, sftp-promises , чтобы выполнить работу sftp.

Если вы хотите разместить свой сервер в облаке, используйте https://cloud.scaleway.com/#/login, потому что это очень дешево ипрост в использовании:)

...