From e6cad947d25a286a8772ac8a97a1e7c0fea324e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dennis=20M=C3=A5rtensson?= Date: Tue, 7 Aug 2012 18:05:35 -0400 Subject: [PATCH 1/9] edited for use with the only websocket part --- example/index.html | 24 ++---------------------- example/server.js | 24 ++++++++---------------- example/webrtc.io.js | 1 + 3 files changed, 11 insertions(+), 38 deletions(-) create mode 120000 example/webrtc.io.js diff --git a/example/index.html b/example/index.html index e471f7e..1a83368 100644 --- a/example/index.html +++ b/example/index.html @@ -4,8 +4,7 @@ Example webrtc.io - - +
@@ -56,7 +55,6 @@ var perColumn = Math.ceil(videos.length / perRow); var width = Math.floor((window.innerWidth) / perRow); var height = Math.floor((window.innerHeight - 190) / perColumn); - console.log(width, height); video.width = width; video.height = height; video.style.position = "absolute"; @@ -80,23 +78,6 @@ } } - function initChat() { - - var input = document.getElementById("chatinput"); - input.addEventListener('keydown', function(event) { - var key = event.which || event.keyCode; - if (key === 13) { - rtc._socket.emit('chat msg', input.value); - addToChat(input.value); - input.value = ""; - } - }, false); - rtc._socket.on('receive chat msg', function(data) { - console.log(data.color); - addToChat(data.msg, data.color.toString(16)); - }); - } - function addToChat(msg, color) { var messages = document.getElementById('messages'); msg = sanitize(msg); @@ -162,7 +143,7 @@ //rtc.connect("http://multiwebrtc.nodejitsu.com/", room); //When using localhost - rtc.connect("http://localhost:8000/", room); + rtc.connect("ws://localhost:8001/", room); rtc.on('add remote stream', function(stream, socketId) { console.log("ADDING REMOTE STREAM..."); @@ -175,7 +156,6 @@ console.log('remove ' + data); removeVideo(data); }); - initChat(); initFullScreen(); initNewRoom(); } diff --git a/example/server.js b/example/server.js index 6c216d7..83696f5 100644 --- a/example/server.js +++ b/example/server.js @@ -1,5 +1,5 @@ var app = require('express').createServer(); -var webRTC = require('webrtc.io').listen(app); +var webRTC = require('webrtc.io').listen(8001); var colors = {}; @@ -17,6 +17,10 @@ app.get('/style.css', function(req, res) { res.sendfile(__dirname + '/style.css'); }); +app.get('/webrtc.io.js', function(req, res) { + res.sendfile(__dirname + '/webrtc.io.js'); +}); + function selectRoom(socket) { for (var room in servers) { console.log('***' + room); @@ -29,26 +33,14 @@ function selectRoom(socket) { webRTC.rtc.on('connection', function(rtc) { //Client connected + console.log('connection'); rtc.on('send_answer', function() { //answer sent + console.log('send_answer'); }); rtc.on('disconnect', function() { - //disconnect sent - }); -}); - -webRTC.sockets.on('connection', function(socket) { - console.log("connection received"); - - colors[socket.id] = Math.floor(Math.random()* 0xFFFFFF) - socket.on('chat msg', function(msg) { - console.log("chat received"); - - socket.broadcast.emit('receive chat msg', { - msg: msg, - color: colors[socket.id] - }); + console.log('disconnect'); }); }); diff --git a/example/webrtc.io.js b/example/webrtc.io.js new file mode 120000 index 0000000..0af5bad --- /dev/null +++ b/example/webrtc.io.js @@ -0,0 +1 @@ +/Users/dennis/developing/hacker_school/webRTC/webRTC.io/webrtc.io-new/webrtc.io-client/lib/webrtc.io.js \ No newline at end of file From 2e20bc7e3a6c27e38841386220b85cfb82a51464 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dennis=20M=C3=A5rtensson?= Date: Tue, 7 Aug 2012 18:44:59 -0400 Subject: [PATCH 2/9] fix for issue 1 --- example/index.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/example/index.html b/example/index.html index 1a83368..33c217f 100644 --- a/example/index.html +++ b/example/index.html @@ -123,7 +123,8 @@ function init() { if(PeerConnection){ - rtc.createStream('you', function(stream) { + rtc.createStream({"video": true, "audio": true}, function(stream) { + document.getElementById('you').src = URL.createObjectURL(stream); videos.push(document.getElementById('you')); rtc.attachStream(stream, 'you'); subdivideVideos(); From 394459aeab46821da0aea6a0aa679c4f79273866 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dennis=20M=C3=A5rtensson?= Date: Tue, 7 Aug 2012 20:10:28 -0400 Subject: [PATCH 3/9] remove socket.io dependenc and remove of auto set room --- example/index.html | 4 ---- package.json | 1 - 2 files changed, 5 deletions(-) diff --git a/example/index.html b/example/index.html index 33c217f..e4ef51c 100644 --- a/example/index.html +++ b/example/index.html @@ -136,10 +136,6 @@ var room = window.location.hash.slice(1); - if (room === '') { - room = Math.floor(Math.random()*rooms.length); - window.location.hash = room; - } //When connectiong to nodejitsu //rtc.connect("http://multiwebrtc.nodejitsu.com/", room); diff --git a/package.json b/package.json index 5477372..8e86f2d 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,6 @@ "node": ">= 0.6.0" }, "dependencies": { - "socket.io": "latest", "webrtc.io": "latest", "express": "2.5.1" }, From d6338f5ce7504d01ffa95bfdeb942fd4d26d2ddc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dennis=20M=C3=A5rtensson?= Date: Wed, 8 Aug 2012 10:06:27 -0400 Subject: [PATCH 4/9] added remove of socket.id from room on close --- example/server.js | 9 --------- 1 file changed, 9 deletions(-) diff --git a/example/server.js b/example/server.js index 83696f5..a93d856 100644 --- a/example/server.js +++ b/example/server.js @@ -21,15 +21,6 @@ app.get('/webrtc.io.js', function(req, res) { res.sendfile(__dirname + '/webrtc.io.js'); }); -function selectRoom(socket) { - for (var room in servers) { - console.log('***' + room); - if (io.sockets.clients(room).length < 4) { - socket.emit('send', room); - } - console.log(io.sockets.clients('' + room)); - } -} webRTC.rtc.on('connection', function(rtc) { //Client connected From 226ef3af16fd5152896cd9df8fda39460477927b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dennis=20M=C3=A5rtensson?= Date: Fri, 10 Aug 2012 14:39:47 -0400 Subject: [PATCH 5/9] added chat --- example/index.html | 30 ++++++++++++++++++++++++++++++ example/server.js | 43 ++++++++++++++++++++++++++++++++++++------- 2 files changed, 66 insertions(+), 7 deletions(-) diff --git a/example/index.html b/example/index.html index e4ef51c..167d71b 100644 --- a/example/index.html +++ b/example/index.html @@ -121,6 +121,35 @@ }) } + function initChat() { + var input = document.getElementById("chatinput"); + var room = window.location.hash.slice(1); + var color = "#"+((1<<24)*Math.random()|0).toString(16); + + input.addEventListener('keydown', function(event) { + var key = event.which || event.keyCode; + if (key === 13) { + rtc._socket.send(JSON.stringify({ + "eventName": "chat_msg", + "messages": input.value, + "room": room, + "color": color + }), function(error) { + if (error) { + console.log(error); + } + }); + addToChat(input.value); + input.value = ""; + } + }, false); + rtc.on('receive_chat_msg', function(data) { + console.log(data.color); + addToChat(data.messages, data.color.toString(16)); + }); + } + + function init() { if(PeerConnection){ rtc.createStream({"video": true, "audio": true}, function(stream) { @@ -155,6 +184,7 @@ }); initFullScreen(); initNewRoom(); + initChat(); } window.onresize = function(event) { diff --git a/example/server.js b/example/server.js index a93d856..8f566e6 100644 --- a/example/server.js +++ b/example/server.js @@ -1,9 +1,6 @@ var app = require('express').createServer(); var webRTC = require('webrtc.io').listen(8001); -var colors = {}; - - //When connectiong to nodejitsu //app.listen(80); //When using localhost @@ -22,16 +19,48 @@ app.get('/webrtc.io.js', function(req, res) { }); -webRTC.rtc.on('connection', function(rtc) { +webRTC.rtc.on('connect', function(rtc) { //Client connected console.log('connection'); - rtc.on('send_answer', function() { + rtc.on('send answer', function() { //answer sent - console.log('send_answer'); + console.log('send answer'); }); rtc.on('disconnect', function() { console.log('disconnect'); }); -}); + + rtc.on('chat_msg', function(data, socket) { + var roomList = rtc.rooms[data.room] || []; + console.log(roomList); + + for (var i = 0; i Date: Fri, 10 Aug 2012 15:25:06 -0400 Subject: [PATCH 6/9] fixed chat repeat --- example/index.html | 2 +- example/server.js | 66 ++++++++++++++++++++-------------------------- 2 files changed, 30 insertions(+), 38 deletions(-) diff --git a/example/index.html b/example/index.html index 167d71b..e5ed441 100644 --- a/example/index.html +++ b/example/index.html @@ -82,7 +82,7 @@ var messages = document.getElementById('messages'); msg = sanitize(msg); if (color) { - msg = '' + msg + ''; + msg = '' + msg + ''; } else { msg = '' + msg + ''; } diff --git a/example/server.js b/example/server.js index 8f566e6..f3fbe9a 100644 --- a/example/server.js +++ b/example/server.js @@ -21,46 +21,38 @@ app.get('/webrtc.io.js', function(req, res) { webRTC.rtc.on('connect', function(rtc) { //Client connected - console.log('connection'); - - rtc.on('send answer', function() { - //answer sent - console.log('send answer'); - }); - - rtc.on('disconnect', function() { - console.log('disconnect'); - }); - - rtc.on('chat_msg', function(data, socket) { - var roomList = rtc.rooms[data.room] || []; - console.log(roomList); - - for (var i = 0; i Date: Fri, 10 Aug 2012 15:41:48 -0400 Subject: [PATCH 7/9] clean up some log --- example/server.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/example/server.js b/example/server.js index f3fbe9a..3bbdc02 100644 --- a/example/server.js +++ b/example/server.js @@ -21,16 +21,14 @@ app.get('/webrtc.io.js', function(req, res) { webRTC.rtc.on('connect', function(rtc) { //Client connected - console.log('connect'); }); webRTC.rtc.on('send answer', function(rtc) { //answer sent - console.log('send answer'); }); webRTC.rtc.on('disconnect', function(rtc) { - console.log('disconnect'); + //Client disconnect }); webRTC.rtc.on('chat_msg', function(data, socket) { From 7e974e2cd784c3861b6b7a9ea9c5cbf5def9d38e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dennis=20M=C3=A5rtensson?= Date: Fri, 10 Aug 2012 15:48:30 -0400 Subject: [PATCH 8/9] add dependency --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 8e86f2d..1144e6b 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,8 @@ }, "dependencies": { "webrtc.io": "latest", - "express": "2.5.1" + "express": "2.5.1", + "ws": "latest" }, "subdomain": "MultiWebRTC", "scripts": { From 8feb2950c9e6bcc7b92adab9ed41727b267681d8 Mon Sep 17 00:00:00 2001 From: Ben Brittain Date: Fri, 10 Aug 2012 16:06:38 +0000 Subject: [PATCH 9/9] symlink the clientside code --- example/webrtc.io.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example/webrtc.io.js b/example/webrtc.io.js index 0af5bad..5b50d99 120000 --- a/example/webrtc.io.js +++ b/example/webrtc.io.js @@ -1 +1 @@ -/Users/dennis/developing/hacker_school/webRTC/webRTC.io/webrtc.io-new/webrtc.io-client/lib/webrtc.io.js \ No newline at end of file +../node_modules/webrtc.io/node_modules/webrtc.io-client/lib/webrtc.io.js \ No newline at end of file