Skip to content

Commit

Permalink
Mesh-model is now handled on Signaling-Server.js
Browse files Browse the repository at this point in the history
Server gives list of all participants as soon as you join a room.

Added “autoRebootServerOnFailure=true” in the “config.json”. Which
keeps server running all the time (auto reboots on failures)
  • Loading branch information
muaz-khan committed Oct 21, 2016
1 parent 2afabac commit 28f0f74
Show file tree
Hide file tree
Showing 39 changed files with 296 additions and 271 deletions.
35 changes: 33 additions & 2 deletions Signaling-Server.js
Original file line number Diff line number Diff line change
Expand Up @@ -278,6 +278,28 @@ module.exports = exports = function(app, socketCallback) {
}
}

function joinARoom(message) {
var roomInitiator = listOfUsers[message.remoteUserId];
var usersInARoom = roomInitiator.connectedWith;

var inviteTheseUsers = [roomInitiator.socket];
Object.keys(usersInARoom).forEach(function(key) {
inviteTheseUsers.push(usersInARoom[key]);
});

var keepUnique = [];
inviteTheseUsers.forEach(function(userSocket) {
if (userSocket.userid == socket.userid) return;
if (keepUnique.indexOf(userSocket.userid) != -1) {
return;
}
keepUnique.push(userSocket.userid);

message.remoteUserId = userSocket.userid;
userSocket.emit(socketMessageEvent, message);
});
}

var numberOfPasswordTries = 0;
socket.on(socketMessageEvent, function(message, callback) {
if (message.remoteUserId && message.remoteUserId === socket.userid) {
Expand Down Expand Up @@ -305,6 +327,11 @@ module.exports = exports = function(app, socketCallback) {
return;
}
}

if (listOfUsers[message.remoteUserId]) {
joinARoom(message);
return;
}
}

if (message.message.shiftedModerationControl) {
Expand Down Expand Up @@ -340,17 +367,21 @@ module.exports = exports = function(app, socketCallback) {

// if someone tries to join a person who is absent
if (message.message.newParticipationRequest) {
var waitFor = 120; // 2 minutes
var waitFor = 60 * 10; // 10 minutes
var invokedTimes = 0;
(function repeater() {
if (typeof socket == 'undefined' || !listOfUsers[socket.userid]) {
return;
}

invokedTimes++;
if (invokedTimes > waitFor) {
socket.emit('user-not-found', message.remoteUserId);
return;
}

if (listOfUsers[message.remoteUserId] && listOfUsers[message.remoteUserId].socket) {
onMessageCallback(message);
joinARoom(message);
return;
}

Expand Down
5 changes: 3 additions & 2 deletions config.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@
"socketMessageEvent": "RTCMultiConnection-Message",
"socketCustomEvent": "RTCMultiConnection-Custom-Message",
"port": "9001",
"enableLogs": "true"
}
"enableLogs": "true",
"autoRebootServerOnFailure": "true"
}
7 changes: 2 additions & 5 deletions demos/Audio+ScreenSharing.html
Original file line number Diff line number Diff line change
Expand Up @@ -81,18 +81,15 @@ <h1>Audio+ScreenSharing using RTCMultiConnection</h1>
(Install <a href="https://chrome.google.com/webstore/detail/screen-capturing/ajhifddimkapgcifgcodmmfdlknahffk" target="_blank">Chrome</a> / or / <a href="https://www.webrtc-experiment.com/store/firefox-extension/enable-screen-capturing.xpi" target="_blank">Firefox</a> extension) - Extensions are <a href="https://github.com/muaz-khan?tab=repositories">open-sourced</a>!
</section>

<!-- <script src="/dist/rmc3.min.js"></script> -->
<script src="https://cdn.webrtc-experiment.com:443/rmc3.min.js"></script>
<script src="/dist/rmc3.min.js"></script>
<script src="/socket.io/socket.io.js"></script>

<!-- capture screen from any HTTPs domain! -->
<script src="https://cdn.webrtc-experiment.com:443/getScreenId.js"></script>

<!-- custom layout for HTML5 audio/video elements -->
<script src="https://cdn.webrtc-experiment.com/getMediaElement.js"></script>

<!-- socket.io for signaling -->
<script src="/socket.io/socket.io.js"></script>

<script>
// ......................................................
// .......................UI Code........................
Expand Down
7 changes: 2 additions & 5 deletions demos/Audio+Video+TextChat+FileSharing.html
Original file line number Diff line number Diff line change
Expand Up @@ -84,16 +84,13 @@ <h1>Audio+Video+TextChat+FileSharing using RTCMultiConnection</h1>
<div id="videos-container"></div>
</section>

<!-- <script src="/dist/rmc3.min.js"></script> -->
<script src="https://cdn.webrtc-experiment.com:443/rmc3.min.js"></script>
<script src="/dist/rmc3.min.js"></script>
<script src="/socket.io/socket.io.js"></script>

<!-- custom layout for HTML5 audio/video elements -->
<script src="https://cdn.webrtc-experiment.com/getMediaElement.js"></script>
<script src="https://cdn.webrtc-experiment.com:443/FileBufferReader.js"></script>

<!-- socket.io for signaling -->
<script src="/socket.io/socket.io.js"></script>

<script>
// ......................................................
// .......................UI Code........................
Expand Down
8 changes: 2 additions & 6 deletions demos/Audio-Conferencing.html
Original file line number Diff line number Diff line change
Expand Up @@ -71,15 +71,11 @@ <h1>Audio Conferencing using RTCMultiConnection</h1>
<div id="audios-container"></div>
</section>

<!-- <script src="/dist/rmc3.min.js"></script> -->
<script src="https://cdn.webrtc-experiment.com:443/rmc3.min.js"></script>
<script src="/dist/rmc3.min.js"></script>
<script src="/socket.io/socket.io.js"></script>

<!-- custom layout for HTML5 audio/video elements -->
<script src="https://cdn.webrtc-experiment.com/getMediaElement.js"></script>

<!-- socket.io for signaling -->
<script src="/socket.io/socket.io.js"></script>

<script>
// ......................................................
// .......................UI Code........................
Expand Down
8 changes: 2 additions & 6 deletions demos/Cross-Domain-Screen-Capturing.html
Original file line number Diff line number Diff line change
Expand Up @@ -93,17 +93,13 @@ <h1>Capture & Share Screen from any domain! using RTCMultiConnection</h1>
<div id="videos-container"></div>
</section>

<!-- <script src="/dist/rmc3.min.js"></script> -->
<script src="https://cdn.webrtc-experiment.com:443/rmc3.min.js"></script>

<script src="/dist/rmc3.min.js"></script>
<script src="/dev/globals.js"></script>
<script src="/socket.io/socket.io.js"></script>

<!-- capture screen from any HTTPs domain! -->
<script src="https://cdn.webrtc-experiment.com:443/getScreenId.js"></script>

<!-- socket.io for signaling -->
<script src="/socket.io/socket.io.js"></script>

<script>
// ......................................................
// .......................UI Code........................
Expand Down
8 changes: 3 additions & 5 deletions demos/Disconnect+Rejoin.html
Original file line number Diff line number Diff line change
Expand Up @@ -79,13 +79,11 @@ <h1>Disconnect+Rejoin using RTCMultiConnection</h1>
<div id="videos-container"></div>
</section>

<!-- <script src="/dist/rmc3.min.js"></script> -->
<script src="https://cdn.webrtc-experiment.com:443/rmc3.min.js"></script>
<script src="https://cdn.webrtc-experiment.com:443/FileBufferReader.js"></script>

<!-- socket.io for signaling -->
<script src="/dist/rmc3.min.js"></script>
<script src="/socket.io/socket.io.js"></script>

<script src="https://cdn.webrtc-experiment.com:443/FileBufferReader.js"></script>

<script>
// ......................................................
// .......................UI Code........................
Expand Down
3 changes: 1 addition & 2 deletions demos/Files-Scalable-Broadcast.html
Original file line number Diff line number Diff line change
Expand Up @@ -111,10 +111,9 @@ <h1><a href="https://github.com/muaz-khan/WebRTC-Scalable-Broadcast">WebRTC Scal
Share camera with unlimited users using p2p methods! <a href="/demos/Video-Scalable-Broadcast.html">Video Scalable Broadcast</a> or <a href="/demos/Scalable-Broadcast.html">all-in-one scalable broadcast</a>.
</blockquote>

<script src="/dist/rmc3.min.js"></script>
<script src="/socket.io/socket.io.js"></script>

<!-- <script src="/dist/rmc3.min.js"></script> -->
<script src="https://cdn.webrtc-experiment.com:443/rmc3.min.js"></script>
<script src="https://cdn.webrtc-experiment.com:443/FileBufferReader.js"></script>

<script>
Expand Down
9 changes: 4 additions & 5 deletions demos/Firebase-Demo.html
Original file line number Diff line number Diff line change
Expand Up @@ -75,13 +75,12 @@ <h1>Firebase Video Conferencing Demo using RTCMultiConnection</h1>
<div id="videos-container"></div>
</section>

<!-- <script src="/dist/rmc3.min.js"></script> -->
<script src="https://cdn.webrtc-experiment.com:443/rmc3.min.js"></script>
<script src="https://cdn.webrtc-experiment.com:443/FileBufferReader.js"></script>
<script src="/dist/rmc3.min.js"></script>
<script src="/dev/globals.js"></script>
<script src="/dev/FirebaseConnection.js"></script>

<script src="https://cdn.webrtc-experiment.com:443/FileBufferReader.js"></script>
<script src="https://cdn.webrtc-experiment.com/firebase.js"></script>
<script src="../dev/globals.js"></script>
<script src="../dev/FirebaseConnection.js"></script>

<script>
// ......................................................
Expand Down
8 changes: 3 additions & 5 deletions demos/Password-Protected-Rooms.html
Original file line number Diff line number Diff line change
Expand Up @@ -80,13 +80,11 @@ <h1>Password+Protected+Rooms using RTCMultiConnection</h1>
<div id="videos-container"></div>
</section>

<!-- <script src="/dist/rmc3.min.js"></script> -->
<script src="https://cdn.webrtc-experiment.com:443/rmc3.min.js"></script>
<script src="https://cdn.webrtc-experiment.com:443/FileBufferReader.js"></script>

<!-- socket.io for signaling -->
<script src="/dist/rmc3.min.js"></script>
<script src="/socket.io/socket.io.js"></script>

<script src="https://cdn.webrtc-experiment.com:443/FileBufferReader.js"></script>

<script>
// ......................................................
// .......................UI Code........................
Expand Down
8 changes: 3 additions & 5 deletions demos/Pre-recorded-Media-Streaming.html
Original file line number Diff line number Diff line change
Expand Up @@ -89,16 +89,14 @@ <h1>Pre-recorded media streaming using RTCMultiConnection</h1>
<div id="videos-container"></div>
</section>

<!-- <script src="/dist/rmc3.min.js"></script> -->
<script src="https://cdn.webrtc-experiment.com:443/rmc3.min.js"></script>
<script src="/dist/rmc3.min.js"></script>
<script src="/socket.io/socket.io.js"></script>

<script src="https://cdn.webrtc-experiment.com:443/FileBufferReader.js"></script>

<!-- custom layout for HTML5 audio/video elements -->
<script src="https://cdn.webrtc-experiment.com/getMediaElement.js"></script>

<!-- socket.io for signaling -->
<script src="/socket.io/socket.io.js"></script>

<script>
// ......................................................
// .......................UI Code........................
Expand Down
8 changes: 4 additions & 4 deletions demos/PubNub-Demo.html
Original file line number Diff line number Diff line change
Expand Up @@ -73,13 +73,13 @@ <h1>PubNub Video Conferencing Demo using RTCMultiConnection</h1>
<div id="videos-container"></div>
</section>

<!-- <script src="/dist/rmc3.min.js"></script> -->
<script src="https://cdn.webrtc-experiment.com:443/rmc3.min.js"></script>
<script src="/dist/rmc3.min.js"></script>
<script src="/dev/globals.js"></script>
<script src="/dev/PubNubConnection.js"></script>

<script src="https://cdn.webrtc-experiment.com:443/FileBufferReader.js"></script>

<script src="https://cdn.webrtc-experiment.com/view/websocket.js"></script>
<script src="../dev/globals.js"></script>
<script src="../dev/PubNubConnection.js"></script>

<script>
// ......................................................
Expand Down
11 changes: 2 additions & 9 deletions demos/Scalable-Broadcast.html
Original file line number Diff line number Diff line change
Expand Up @@ -119,16 +119,9 @@ <h1><a href="https://github.com/muaz-khan/WebRTC-Scalable-Broadcast">WebRTC Scal
Share files with unlimited users using p2p methods! <a href="/demos/Files-Scalable-Broadcast.html">Files Scalable Broadcast</a>
</blockquote>

<script src="/dist/rmc3.min.js"></script>
<script src="/socket.io/socket.io.js"></script>

<script>
// skipping xirsys servers
window.getExternalIceServers = false;
</script>

<!-- <script src="/dist/rmc3.min.js"></script> -->
<script src="https://cdn.webrtc-experiment.com/rmc3.min.js"></script>


<!-- <script src="https://cdn.webrtc-experiment.com/RecordRTC.js"></script> -->
<script>
// recording is disabled because it is resulting for browser-crash
Expand Down
12 changes: 3 additions & 9 deletions demos/Scalable-Screen-Broadcast.html
Original file line number Diff line number Diff line change
Expand Up @@ -118,22 +118,16 @@ <h1><a href="https://github.com/muaz-khan/WebRTC-Scalable-Broadcast">WebRTC Scal
Requirements: <a href="https://chrome.google.com/webstore/detail/screen-capturing/ajhifddimkapgcifgcodmmfdlknahffk">install this Chrome extension</a> or <a href="https://addons.mozilla.org/en-US/firefox/addon/enable-screen-capturing/">this Firefox extension</a>.
</blockquote>

<script src="/dist/rmc3.min.js"></script>
<script src="/socket.io/socket.io.js"></script>

<script>
// skipping xirsys servers
window.getExternalIceServers = false;
</script>

<!-- <script src="/dist/rmc3.min.js"></script> -->
<script src="https://cdn.webrtc-experiment.com:443/rmc3.min.js"></script>

<!-- capture screen from any HTTPs domain! -->
<script src="https://cdn.webrtc-experiment.com:443/getScreenId.js"></script>

<script src="https://cdn.webrtc-experiment.com/RecordRTC.js"></script>
<!-- <script src="https://cdn.webrtc-experiment.com/RecordRTC.js"></script> -->
<script>
// recording is disabled because it is resulting for browser-crash
// if you enable below line, please also uncomment above "RecordRTC.js"
var enableRecordings = false;

var connection = new RTCMultiConnection(null, {
Expand Down
12 changes: 3 additions & 9 deletions demos/Scalable-Screen-plus-Audio-Broadcast.html
Original file line number Diff line number Diff line change
Expand Up @@ -124,22 +124,16 @@ <h1><a href="https://github.com/muaz-khan/WebRTC-Scalable-Broadcast">WebRTC Scal
Requirements: <a href="https://chrome.google.com/webstore/detail/screen-capturing/ajhifddimkapgcifgcodmmfdlknahffk">install this Chrome extension</a> or <a href="https://addons.mozilla.org/en-US/firefox/addon/enable-screen-capturing/">this Firefox extension</a>.
</blockquote>

<script src="/dist/rmc3.min.js"></script>
<script src="/socket.io/socket.io.js"></script>

<script>
// skipping xirsys servers
window.getExternalIceServers = false;
</script>

<!-- <script src="/dist/rmc3.min.js"></script> -->
<script src="https://cdn.webrtc-experiment.com:443/rmc3.min.js"></script>

<!-- capture screen from any HTTPs domain! -->
<script src="https://cdn.webrtc-experiment.com:443/getScreenId.js"></script>

<script src="https://cdn.webrtc-experiment.com/RecordRTC.js"></script>
<!-- <script src="https://cdn.webrtc-experiment.com/RecordRTC.js"></script> -->
<script>
// recording is disabled because it is resulting for browser-crash
// if you enable below line, please also uncomment above "RecordRTC.js"
var enableRecordings = false;

var connection = new RTCMultiConnection(null, {
Expand Down
6 changes: 1 addition & 5 deletions demos/StreamHasData.html
Original file line number Diff line number Diff line change
Expand Up @@ -87,12 +87,8 @@ <h1>Check if StreamHasData using RTCMultiConnection</h1>
<div id="videos-container"></div>
</section>

<!-- <script src="/dist/rmc3.min.js"></script> -->
<script src="https://cdn.webrtc-experiment.com:443/rmc3.min.js"></script>

<script src="/dist/rmc3.min.js"></script>
<script src="/dev/StreamHasData.js"></script>

<!-- socket.io for signaling -->
<script src="/socket.io/socket.io.js"></script>

<script>
Expand Down
8 changes: 3 additions & 5 deletions demos/TextChat+FileSharing.html
Original file line number Diff line number Diff line change
Expand Up @@ -74,13 +74,11 @@ <h1>TextChat+FileSharing using RTCMultiConnection</h1>
</div>
</section>

<!-- <script src="/dist/rmc3.min.js"></script> -->
<script src="https://cdn.webrtc-experiment.com:443/rmc3.min.js"></script>
<script src="https://cdn.webrtc-experiment.com:443/FileBufferReader.js"></script>

<!-- socket.io for signaling -->
<script src="/dist/rmc3.min.js"></script>
<script src="/socket.io/socket.io.js"></script>

<script src="https://cdn.webrtc-experiment.com:443/FileBufferReader.js"></script>

<script>
// ......................................................
// .......................UI Code........................
Expand Down
3 changes: 1 addition & 2 deletions demos/Video-Conferencing.html
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,7 @@ <h1>Video Conferencing using RTCMultiConnection</h1>
<div id="videos-container"></div>
</section>

<!-- <script src="/dist/rmc3.min.js"></script> -->
<script src="https://cdn.webrtc-experiment.com:443/rmc3.min.js"></script>
<script src="/dist/rmc3.min.js"></script>

<!-- custom layout for HTML5 audio/video elements -->
<script src="https://cdn.webrtc-experiment.com/getMediaElement.js"></script>
Expand Down
Loading

0 comments on commit 28f0f74

Please sign in to comment.