2015-12-24 7 views
1

По умолчанию SimpleWebRTC использует в качестве сервера сигнализации https://sandbox.simplewebrtc.com:443/. Теперь это конечная точка XHR, и каким-то образом, мастер сигнала, похоже, переключает его на соединение с веб-сокетом.Как заставить SimpleWebRTC напрямую подключаться к моему URL-адресу веб-узла

Теперь я пытаюсь использовать собственный сервер сигнализации с SimpleWebRTC. И это простая конечная точка websocket. Таким образом, при создании объекта SimpleWebRTC, у меня есть SimpleWebRTC { “url” : ”ws://<my-IP>/chatroom" ...}

Но при создании объекта SimpleWebRTC, он продолжает пытаться подключиться к другому URI: http://my-IP/socket.io/?EIO=3&transport=polling&t=1450985796761-0.

Как я могу получить SimpleWebRTC, чтобы просто подключиться непосредственно к ws: // my-IP/chatroom, и имеют ли эти параметры только что переданные другим аналогам, как это делает мастер сигналов? Должен ли мой сервер сигнализации делать что угодно, кроме прохода по параметрам/сообщению, которое посылает инициатор?

ответ

1

SimpleWebRTC использует socket.io вместо сырых websockets. Если вы хотите использовать сырые веб-карты, вы можете попробовать заменить https://github.com/andyet/SimpleWebRTC/blob/master/socketioconnection.js своим сырым подключением к сети.

Или вы реализуете протокол socket.io на своем сервере.

+0

*** A) *** В ** клиенте **, кажется, нет прямого (настраиваемого) способа переопределения использования SimpleWebRTC [socket.io] (http://socket.io) (например: в [simplewebrtc.bundle.js] (https://github.com/andyet/SimpleWebRTC/blob/master/simplewebrtc.bundle.js), переопределяя ** SocketIoConnection.prototype. [*] ** функции казалось бы, не работает (* socket.io-client * все еще [втянут] (https://github.com/andyet/SimpleWebRTC/blob/master/simplewebrtc.bundle.js#L834))). – Nutritioustim

+0

*** B) *** На ** сервере **, реализация протокола socket.io в основном означает репликацию этого [блока кода] (https://github.com/andyet/signalmaster/blob/master/ sockets.js # L13-L129)? Я не использую JS на сервере, поэтому входящие сообщения должны отображаться в объектах 'io.sockets' и' client'. – Nutritioustim

+0

На клиенте вы должны выполнить переопределение соединения socketioconnection и передать его конструктору SimpleWebRTC. Кроме того, на сервере вы можете искать реализацию socket.io на используемом вами языке. Протокол socket.io на самом деле не документирован, но достаточно популярен, что существуют некоторые реализации. –

0

Вот мастер сигнала на ваш вопрос: github signalmaster

Для запуска это, необходимо установить модуль НПМ в server.js файле. Заменить:

https://sandbox.simplewebrtc.com:443/ 
↓ 
http://<yourip>:8888/ 

Но я не понимаю, если мы используем этот сервер сигнала, мы можем увеличить производительность частоты кадров и скорости, и нет необходимости оглушения и превратить сервер в Google? Когда я развернул этот сервер сигналов на моем облачном узле? BTW, я не могу понять, когда читаю config для установки reverver на github.