Хобрук: Ваш путь к мастерству в программировании

Пользовательский сервер PeerJs, выдающий ERR_CONNECTION_TIMED_OUT

Поэтому я установил сервер peerjs на свой хостинг digitalocean, используя следующую команду.

 npm install peer
 peerjs --port 9000 --key peerjs

После выполнения вышеуказанной команды замазка выдала следующий вывод:

Запущен PeerServer на ::, порт: 9000, путь: / (v. 0.2.8)

Ниже приведен мой код index.html:

<!DOCTYPE html>
<html>
<head>
    <title>Peer JS Testing</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/peerjs/0.3.13/peer.js"></script>
    <script>
        $(document).ready(function(){
                // var peer = new Peer({key: 'r6xc2gopu33j714i'});
                // var peer = new Peer({ host: '139.59.3.130', port: 9000, debug: 3});
                var peer = new Peer('', {host: 'thegraphicplanet.com', port: 9000});
                var anotherid;
                var mypeerid;
                mypeerid = peer.id;
                setTimeout(function(){
                    console.log(peer);
                    $('#showid').text('Your ID is: '+peer.id);
                }, 3000);

                $('.connect').click(function(){
                    anotherid = document.getElementById('anotherid').value;



                    // var conn = peer.connect(anotherid);
                    // conn.on('open', function(){
                    //   conn.send('hi!');
                    // });


                    navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
                    navigator.getUserMedia({video: true, audio: true}, function(stream) {
                      var call = peer.call(anotherid, stream);
                      call.on('stream', function(remoteStream) {
                        $('.showvideo').prop('src', URL.createObjectURL(stream));
                      });
                    }, function(err) {
                      console.log('Failed to get local stream' ,err);
                    });



                });

                /*
                peer.on('connection', function(conn) {
                  conn.on('data', function(data){
                    // Will print 'hi!'
                    console.log(data);
                  });
                });
                */

                navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
                peer.on('call', function(call) {
                  navigator.getUserMedia({video: true, audio: true}, function(stream) {
                    call.answer(stream); // Answer the call with an A/V stream.
                    call.on('stream', function(remoteStream) {
                        $('.showvideo').src = URL.createObjectURL(remotestream);
                        $('.showvideo').play();
                    });
                  }, function(err) {
                    console.log('Failed to get local stream' ,err);
                  });
                });

        });
    </script>
</head>
<body>


<h1 id="showid"></h1>

<label>Enter ID and Connect</label>
<input type="text" id="anotherid" />
<button class="connect">Connect</button>

<video class="showvideo" autoplay></video>

</body>
</html>

Когда я обращаюсь к нему по своему URL-адресу: https://thegraphicplanet.com/aumkarsandbox/peerjs/

На консоли выдает следующую ошибку:

:9000/peerjs/id?ts=15093825487790.7152652631730707 Не удалось загрузить ресурс: net::ERR_CONNECTION_TIMED_OUT

30.10.2017

  • Вы должны добавить node.js вместо JavaScript в качестве тега ;-) 31.10.2017
  • Я думаю, это означает, что ваш сервер не работает. Вероятно, порт 9000 не открыт по умолчанию на вашем устройстве digitalocean. 06.11.2017

Ответы:


1

Может быть, это устарело, но мне есть что напомнить всем разработчикам, которые недавно используют библиотеку peerjs или недавно начали работать в среде Linux.

Выполнение однострочной команды, такой как peerjs --port 9000 --key peerjs, выполняется, пока вы не закрываете свой сервер. Он остановится, когда вы нажмете кнопку Ctrl + C.

Вы можете попробовать запустить команду background. Попробуйте использовать эту команду:

nohup peerjs --port 9000 --key peerjs > /dev/null 2>&1 &

Команда nohup может запускать вашу однострочную команду в фоновом режиме, поэтому вы можете начать делать другие вещи с вашим текущим терминалом.

Чтобы закрыть соединение, вы можете использовать следующий шаг:

  1. Найдите PID (идентификатор процесса): ps -ef | grep peerjs
  2. В списке PID введите: kill <your pid>
03.12.2020
Новые материалы

Решения DBA Metrix
DBA Metrix Solutions предоставляет удаленного администратора базы данных (DBA), который несет ответственность за внедрение, обслуживание, настройку, восстановление базы данных, а также другие..

Начало работы с Блум
Обзор и Codelab для генерации текста с помощью Bloom Оглавление Что такое Блум? Некоторые предостережения Настройка среды Скачивание предварительно обученного токенизатора и модели..

Создание кнопочного меню с использованием HTML, CSS и JavaScript
Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

Внедрите OAuth в свои веб-приложения для повышения безопасности
OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

Классы в JavaScript
class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

Как свинг-трейдеры могут использовать ИИ для больших выигрышей
По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

Как построить любой стол
Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...