webRTC-io / webrtc.io-demo

webrtc.io multi user chat demo. Highly experimental technology
326 stars 287 forks source link

Too fancy! #1

Closed benbrittain closed 12 years ago

benbrittain commented 12 years ago

:P

vetinh0607 commented 12 years ago

Hi dennis I cant setup your code bellow to work. Can you instruction me to usse it with linux server and chrome canary lastest version. Waiting for you! Contactme: vetinh0607@gmail.com Thanks!

Hey,

A couple friends and I built a multi-user webrtc demo, You can have a look at the demo on http://multiwebrtc.nodejitsu.com/ and if you want to see the code for the site, you can find it here https://github.com/dennismartensson/webrtc.io-demo

For the client: https://github.com/sarenji/webrtc.io-client

for the server: https://github.com/cavedweller/webRTC.io

let us know what you think,

Dennis

dennismartensson commented 12 years ago

Hi,

You have to have node installed and npm and the dependencies , There are now updated instructions at https://github.com/cavedweller/webRTC.io on how you go about setting it up.

/Dennis

vetinh0607 commented 12 years ago

hi Denis! I want to ask you about the role of 2 things: For the client: https://github.com/sarenji/webrtc.io-client For the server: https://github.com/cavedweller/webRTC.io Can you explain me about the flow active of client and server in WEBRTC? Example, user A use a Chrome Canary connect to the web server, user B is does the same to the web server by client js code and the js code of server in the middle to connecting 2 user, A and B.

I am using CentOS 5.5 32 bit. What can i do with the client and server code for it's working?

Please explain more detail. Thanks you very much! Ronal.

dennismartensson commented 12 years ago

Hi Ronal,

The setup proces did become a lot essayer with yesterdays updates. So I do recommend you to start over.

So here is a step by step guid on how to get the demo to work,

Run in your terminal

  1. git colen git@github.com:dennismartensson/webrtc.io-demo.git
  2. cd webrtc.io-demo
  3. npm install
  4. cd example
  5. node server.js

Ïn a version of Chrome that have webRTC support.

open localhost:8000 in Chrome

click allow to see your camera

open localhost:8000 in Chrome

click allow to see your camera and the connection will be made between your to open windows.

I do hope that this make it clearer and that you get it to work,

I am not sure I do understand your example?

"Example, user A use a Chrome Canary connect to the web server, user B is does the same to the web server by client js code and the js code of server in the middle to connecting 2 user, A and B."

/Dennis

dennismartensson commented 12 years ago

Hi,

Have you done github's setup with keys for connecting?

/Dennis

vetinh0607 commented 12 years ago

hi Denis, I have installed successfull but just only me could show on the web when i connected to localhost:8000 in Chrome. Can you tell me how to connect to my partner at the same time. I want to invite my partner to the video room and share video.

Can u help me! Thanks you very much!

Ronal.

dennismartensson commented 12 years ago

You have to be in the same room, So go to http://localhost:8000/#1 in to browser windows. Are your problems with git clone and error on the socker.io module resolved?

/Dennis

vetinh0607 commented 12 years ago

hi Denis, I installed successfully, after the command node "server.js" it show "The socket.io is started". When i connect 2 chrome canary tab or with my partner follow the link: " http://localhost:8000/#1", there are just only me showed on the screen, no one more.

Can you help me this prolem? Thank you so much & Best Regard!

Ronal

But On Mon, Aug 6, 2012 at 8:12 PM, Dennis < reply@reply.github.com

wrote:

You have to be in the same room, So go to http://localhost:8000/#1 in to browser windows. Are your problems with git clone and error on the socker.io module resolved?

/Dennis


Reply to this email directly or view it on GitHub: https://github.com/webRTC/webrtc.io-demo/issues/1#issuecomment-7523430

Viên Nguyễn

dennismartensson commented 12 years ago

Hi,

I cant tell whats the problem you are having because I have tested the setup multiple times on different machins and it works fine.

I do not know where your "partner" is but localhost can only be used on your local matchin. If you want to use the demo on different networks and are not planing to do any developing with the library, I sugest that you use the demo site. http://multiwebrtc.nodejitsu.com

If you are planing on doing developing with webRTC.io and have not done node.js stuff before I sugest that you start to learn about that on some easier typ of app then a webRTC app. To understand webRTC and how it works I sugest that you look at http://www.webrtc.org/ and for node.js I sugest that you start with http://www.youtube.com/watch?v=jo_B4LTHi3I and try to do the example he is creating,

I do have a project going where I have same screen cast talking about realtime web. I will try to do one on webRTC.io later this week but you can start at the first movie if you like to learn about realtime web and are not so use to it. You will find the movies at http://dennismartensson.com/

I hope that this answer will help you out

/Dennis

vetinh0607 commented 12 years ago

hi Denis, When i open 2 tab of chrome canary by link "http://multiwebrtc.nodejitsu.com/#1", the screen just only show my cammera on the left and no one more. At the same, when i send the link "http://multiwebrtc.nodejitsu.com/#1" to my partner, 2 of us do not see together, only me on my screen, and only my partner on his screen. Any things wrong here? Can you show me how to connect 2 persons together by chrome canary?

Thank you! Ronal.

vetinh0607 commented 12 years ago

hi Denis, I built a Centos server with your webrtc.demo code successfull. But it can not connect multiple user. This is my log when i connected to server:(fully attached)

[root@TLS example]# node server.js info - socket.io started debug - client authorized info - handshake authorized vr4f_sH9ulwRvDWFIhrI { stack: [ { route: '', handle: [Function] }, { route: '', handle: [Function] } ], _connections: 1, connections: [Getter/Setter], allowHalfOpen: true, _handle: { writeQueueSize: 0, onconnection: [Function: onconnection], owner: [Circular] }, _events: { request: [ [Function] ], connection: [Function: connectionListener], listening: [ [Function] ], error: [Function], upgrade: [Function], close: [Function] }, httpAllowHalfOpen: false, cache: {}, settings: { env: 'development', hints: true }, redirects: {}, isCallbacks: {}, _locals: { settings: { env: 'development', hints: true }, app: [Circular] }, dynamicViewHelpers: {}, errorHandlers: [], route: '/', routes: { app: [Circular], routes: { get: [Object] }, params: {}, _params: [], middleware: [Function] }, router: [Getter], _connectionKey: '4:0.0.0.0:8000', usedRouter: true } debug - setting request GET /socket.io/1/websocket/vr4f_sH9ulwRvDWFIhrI debug - set heartbeat interval for client vr4f_sH9ulwRvDWFIhrI debug - client authorized for debug - websocket writing 1:: connection received { stack: [ { route: '', handle: [Function] }, { route: '', handle: [Function] } ], _connections: 3, connections: [Getter/Setter], allowHalfOpen: true, _handle: { writeQueueSize: 0, onconnection: [Function: onconnection], owner: [Circular] }, _events: { request: [ [Function] ], connection: [Function: connectionListener], listening: [ [Function] ], error: [Function], upgrade: [ [Function] ], close: [Function] }, httpAllowHalfOpen: false, cache: {}, settings: { env: 'development', hints: true }, redirects: {}, isCallbacks: {}, _locals: { settings: { env: 'development', hints: true }, app: [Circular] }, dynamicViewHelpers: {}, errorHandlers: [], route: '/', routes: { app: [Circular], routes: { get: [Object] }, params: {}, _params: [], middleware: [Function] }, router: [Getter], _connectionKey: '4:0.0.0.0:8000', usedRouter: true } debug - client authorized info - handshake authorized LUEVp9CMcLKeR0qVIhrJ { stack: [ { route: '', handle: [Function] }, { route: '', handle: [Function] } ], _connections: 3, connections: [Getter/Setter], allowHalfOpen: true, _handle: { writeQueueSize: 0, onconnection: [Function: onconnection], owner: [Circular] }, _events: { request: [ [Function] ], connection: [Function: connectionListener], listening: [ [Function] ], error: [Function], upgrade: [ [Function] ], close: [Function] }, httpAllowHalfOpen: false, cache: {}, settings: { env: 'development', hints: true }, redirects: {}, isCallbacks: {}, _locals: { settings: { env: 'development', hints: true }, app: [Circular] }, dynamicViewHelpers: {}, errorHandlers: [], route: '/', routes: { app: [Circular], routes: { get: [Object] }, params: {}, _params: [], middleware: [Function] }, router: [Getter], _connectionKey: '4:0.0.0.0:8000', usedRouter: true } debug - setting request GET /socket.io/1/websocket/LUEVp9CMcLKeR0qVIhrJ debug - set heartbeat interval for client LUEVp9CMcLKeR0qVIhrJ debug - client authorized for debug - websocket writing 1:: connection received info - transport end by forced client disconnection debug - websocket writing 0:: info - transport end (booted) debug - set close timeout for client LUEVp9CMcLKeR0qVIhrJ debug - cleared close timeout for client LUEVp9CMcLKeR0qVIhrJ debug - cleared heartbeat interval for client LUEVp9CMcLKeR0qVIhrJ debug - discarding transport { stack: [ { route: '', handle: [Function] }, { route: '', handle: [Function] } ], _connections: 3, connections: [Getter/Setter], allowHalfOpen: true, _handle: { writeQueueSize: 0, onconnection: [Function: onconnection], owner: [Circular] }, _events: { request: [ [Function] ], connection: [Function: connectionListener], listening: [ [Function] ], error: [Function], upgrade: [ [Function] ], close: [Function] }, httpAllowHalfOpen: false, cache: {}, settings: { env: 'development', hints: true }, redirects: {}, isCallbacks: {}, _locals: { settings: { env: 'development', hints: true }, app: [Circular] }, dynamicViewHelpers: {}, errorHandlers: [], route: '/', routes: { app: [Circular], routes: { get: [Object] }, params: {}, _params: [], middleware: [Function] }, router: [Getter], _connectionKey: '4:0.0.0.0:8000', usedRouter: true }

Thank you! Ronal.

On Mon, Aug 6, 2012 at 10:39 PM, Dennis < reply@reply.github.com

wrote:

Hi,

I cant tell whats the problem you are having because I have tested the setup multiple times on different machins and it works fine.

I do not know where your "partner" is but localhost can only be used on your local matchin. If you want to use the demo on different networks and are not planing to do any developing with the library, I sugest that you use the demo site. http://multiwebrtc.nodejitsu.com

If you are planing on doing developing with webRTC.io and have not done node.js stuff before I sugest that you start to learn about that on some easier typ of app then a webRTC app. To understand webRTC and how it works I sugest that you look at http://www.webrtc.org/ and for node.js I sugest that you start with http://www.youtube.com/watch?v=jo_B4LTHi3I and try to do the example he is creating,

I do have a project going where I have same screen cast talking about realtime web. I will try to do one on webRTC.io later this week but you can start at the first movie if you like to learn about realtime web and are not so use to it. You will find the movies at http://dennismartensson.com/

I hope that this answer will help you out

/Dennis


Reply to this email directly or view it on GitHub: https://github.com/webRTC/webrtc.io-demo/issues/1#issuecomment-7526920

Viên Nguyễn [root@TLS example]# node server.js info - socket.io started debug - client authorized info - handshake authorized vr4f_sH9ulwRvDWFIhrI { stack: [ { route: '', handle: [Function] }, { route: '', handle: [Function] } ], _connections: 1, connections: [Getter/Setter], allowHalfOpen: true, _handle: { writeQueueSize: 0, onconnection: [Function: onconnection], owner: [Circular] }, _events: { request: [ [Function] ], connection: [Function: connectionListener], listening: [ [Function] ], error: [Function], upgrade: [Function], close: [Function] }, httpAllowHalfOpen: false, cache: {}, settings: { env: 'development', hints: true }, redirects: {}, isCallbacks: {}, _locals: { settings: { env: 'development', hints: true }, app: [Circular] }, dynamicViewHelpers: {}, errorHandlers: [], route: '/', routes: { app: [Circular], routes: { get: [Object] }, params: {}, _params: [], middleware: [Function] }, router: [Getter], _connectionKey: '4:0.0.0.0:8000', usedRouter: true } debug - setting request GET /socket.io/1/websocket/vr4f_sH9ulwRvDWFIhrI debug - set heartbeat interval for client vr4f_sH9ulwRvDWFIhrI debug - client authorized for debug - websocket writing 1:: connection received { stack: [ { route: '', handle: [Function] }, { route: '', handle: [Function] } ], _connections: 3, connections: [Getter/Setter], allowHalfOpen: true, _handle: { writeQueueSize: 0, onconnection: [Function: onconnection], owner: [Circular] }, _events: { request: [ [Function] ], connection: [Function: connectionListener], listening: [ [Function] ], error: [Function], upgrade: [ [Function] ], close: [Function] }, httpAllowHalfOpen: false, cache: {}, settings: { env: 'development', hints: true }, redirects: {}, isCallbacks: {}, _locals: { settings: { env: 'development', hints: true }, app: [Circular] }, dynamicViewHelpers: {}, errorHandlers: [], route: '/', routes: { app: [Circular], routes: { get: [Object] }, params: {}, _params: [], middleware: [Function] }, router: [Getter], _connectionKey: '4:0.0.0.0:8000', usedRouter: true } debug - client authorized info - handshake authorized LUEVp9CMcLKeR0qVIhrJ { stack: [ { route: '', handle: [Function] }, { route: '', handle: [Function] } ], _connections: 3, connections: [Getter/Setter], allowHalfOpen: true, _handle: { writeQueueSize: 0, onconnection: [Function: onconnection], owner: [Circular] }, _events: { request: [ [Function] ], connection: [Function: connectionListener], listening: [ [Function] ], error: [Function], upgrade: [ [Function] ], close: [Function] }, httpAllowHalfOpen: false, cache: {}, settings: { env: 'development', hints: true }, redirects: {}, isCallbacks: {}, _locals: { settings: { env: 'development', hints: true }, app: [Circular] }, dynamicViewHelpers: {}, errorHandlers: [], route: '/', routes: { app: [Circular], routes: { get: [Object] }, params: {}, _params: [], middleware: [Function] }, router: [Getter], _connectionKey: '4:0.0.0.0:8000', usedRouter: true } debug - setting request GET /socket.io/1/websocket/LUEVp9CMcLKeR0qVIhrJ debug - set heartbeat interval for client LUEVp9CMcLKeR0qVIhrJ debug - client authorized for debug - websocket writing 1:: connection received info - transport end by forced client disconnection debug - websocket writing 0:: info - transport end (booted) debug - set close timeout for client LUEVp9CMcLKeR0qVIhrJ debug - cleared close timeout for client LUEVp9CMcLKeR0qVIhrJ debug - cleared heartbeat interval for client LUEVp9CMcLKeR0qVIhrJ debug - discarding transport { stack: [ { route: '', handle: [Function] }, { route: '', handle: [Function] } ], _connections: 3, connections: [Getter/Setter], allowHalfOpen: true, _handle: { writeQueueSize: 0, onconnection: [Function: onconnection], owner: [Circular] }, _events: { request: [ [Function] ], connection: [Function: connectionListener], listening: [ [Function] ], error: [Function], upgrade: [ [Function] ], close: [Function] }, httpAllowHalfOpen: false, cache: {}, settings: { env: 'development', hints: true }, redirects: {}, isCallbacks: {}, _locals: { settings: { env: 'development', hints: true }, app: [Circular] }, dynamicViewHelpers: {}, errorHandlers: [], route: '/', routes: { app: [Circular], routes: { get: [Object] }, params: {}, _params: [], middleware: [Function] }, router: [Getter], _connectionKey: '4:0.0.0.0:8000', usedRouter: true } { stack: [ { route: '', handle: [Function] }, { route: '', handle: [Function] } ], _connections: 2, connections: [Getter/Setter], allowHalfOpen: true, _handle: { writeQueueSize: 0, onconnection: [Function: onconnection], owner: [Circular] }, _events: { request: [ [Function] ], connection: [Function: connectionListener], listening: [ [Function] ], error: [Function], upgrade: [ [Function] ], close: [Function] }, httpAllowHalfOpen: false, cache: {}, settings: { env: 'development', hints: true }, redirects: {}, isCallbacks: {}, _locals: { settings: { env: 'development', hints: true }, app: [Circular] }, dynamicViewHelpers: {}, errorHandlers: [], route: '/', routes: { app: [Circular], routes: { get: [Object] }, params: {}, _params: [], middleware: [Function] }, router: [Getter], _connectionKey: '4:0.0.0.0:8000', usedRouter: true } info - transport end (socket end) debug - set close timeout for client vr4f_sH9ulwRvDWFIhrI debug - cleared close timeout for client vr4f_sH9ulwRvDWFIhrI debug - cleared heartbeat interval for client vr4f_sH9ulwRvDWFIhrI debug - discarding transport { stack: [ { route: '', handle: [Function] }, { route: '', handle: [Function] } ], _connections: 2, connections: [Getter/Setter], allowHalfOpen: true, _handle: { writeQueueSize: 0, onconnection: [Function: onconnection], owner: [Circular] }, _events: { request: [ [Function] ], connection: [Function: connectionListener], listening: [ [Function] ], error: [Function], upgrade: [ [Function] ], close: [Function] }, httpAllowHalfOpen: false, cache: {}, settings: { env: 'development', hints: true }, redirects: {}, isCallbacks: {}, _locals: { settings: { env: 'development', hints: true }, app: [Circular] }, dynamicViewHelpers: {}, errorHandlers: [], route: '/', routes: { app: [Circular], routes: { get: [Object] }, params: {}, _params: [], middleware: [Function] }, router: [Getter], _connectionKey: '4:0.0.0.0:8000', usedRouter: true } { stack: [ { route: '', handle: [Function] }, { route: '', handle: [Function] } ], _connections: 4, connections: [Getter/Setter], allowHalfOpen: true, _handle: { writeQueueSize: 0, onconnection: [Function: onconnection], owner: [Circular] }, _events: { request: [ [Function] ], connection: [Function: connectionListener], listening: [ [Function] ], error: [Function], upgrade: [ [Function] ], close: [Function] }, httpAllowHalfOpen: false, cache: {}, settings: { env: 'development', hints: true }, redirects: {}, isCallbacks: {}, _locals: { settings: { env: 'development', hints: true }, app: [Circular] }, dynamicViewHelpers: {}, errorHandlers: [], route: '/', routes: { app: [Circular], routes: { get: [Object] }, params: {}, _params: [], middleware: [Function] }, router: [Getter], _connectionKey: '4:0.0.0.0:8000', usedRouter: true } { stack: [ { route: '', handle: [Function] }, { route: '', handle: [Function] } ], _connections: 4, connections: [Getter/Setter], allowHalfOpen: true, _handle: { writeQueueSize: 0, onconnection: [Function: onconnection], owner: [Circular] }, _events: { request: [ [Function] ], connection: [Function: connectionListener], listening: [ [Function] ], error: [Function], upgrade: [ [Function] ], close: [Function] }, httpAllowHalfOpen: false, cache: {}, settings: { env: 'development', hints: true }, redirects: {}, isCallbacks: {}, _locals: { settings: { env: 'development', hints: true }, app: [Circular] }, dynamicViewHelpers: {}, errorHandlers: [], route: '/', routes: { app: [Circular], routes: { get: [Object] }, params: {}, _params: [], middleware: [Function] }, router: [Getter], _connectionKey: '4:0.0.0.0:8000', __usedRouter: true } debug - served static content /socket.io.js debug - client authorized info - handshake authorized 55WsWC_tbYR7MJXoIhrK { stack: [ { route: '', handle: [Function] }, { route: '', handle: [Function] } ], _connections: 4, connections: [Getter/Setter], allowHalfOpen: true, _handle: { writeQueueSize: 0, onconnection: [Function: onconnection], owner: [Circular] }, _events: { request: [ [Function] ], connection: [Function: connectionListener], listening: [ [Function] ], error: [Function], upgrade: [ [Function] ], close: [Function] }, httpAllowHalfOpen: false, cache: {}, settings: { env: 'development', hints: true }, redirects: {}, isCallbacks: {}, _locals: { settings: { env: 'development', hints: true }, app: [Circular] }, dynamicViewHelpers: {}, errorHandlers: [], route: '/', routes: { app: [Circular], routes: { get: [Object] }, params: {}, _params: [], middleware: [Function] }, router: [Getter], _connectionKey: '4:0.0.0.0:8000', usedRouter: true } { stack: [ { route: '', handle: [Function] }, { route: '', handle: [Function] } ], _connections: 4, connections: [Getter/Setter], allowHalfOpen: true, _handle: { writeQueueSize: 0, onconnection: [Function: onconnection], owner: [Circular] }, _events: { request: [ [Function] ], connection: [Function: connectionListener], listening: [ [Function] ], error: [Function], upgrade: [ [Function] ], close: [Function] }, httpAllowHalfOpen: false, cache: {}, settings: { env: 'development', hints: true }, redirects: {}, isCallbacks: {}, _locals: { settings: { env: 'development', hints: true }, app: [Circular] }, dynamicViewHelpers: {}, errorHandlers: [], route: '/', routes: { app: [Circular], routes: { get: [Object] }, params: {}, _params: [], middleware: [Function] }, router: [Getter], _connectionKey: '4:0.0.0.0:8000', usedRouter: true } debug - setting request GET /socket.io/1/websocket/55WsWC_tbYR7MJXoIhrK debug - set heartbeat interval for client 55WsWC_tbYR7MJXoIhrK debug - client authorized for debug - websocket writing 1:: connection received debug - setting request GET /socket.io/1/xhr-polling/55WsWC_tbYR7MJXoIhrK?t=1344310330709 debug - setting poll timeout debug - discarding transport debug - cleared heartbeat interval for client 55WsWC_tbYR7MJXoIhrK { stack: [ { route: '', handle: [Function] }, { route: '', handle: [Function] } ], _connections: 5, connections: [Getter/Setter], allowHalfOpen: true, _handle: { writeQueueSize: 0, onconnection: [Function: onconnection], owner: [Circular] }, _events: { request: [ [Function] ], connection: [Function: connectionListener], listening: [ [Function] ], error: [Function], upgrade: [ [Function] ], close: [Function] }, httpAllowHalfOpen: false, cache: {}, settings: { env: 'development', hints: true }, redirects: {}, isCallbacks: {}, _locals: { settings: { env: 'development', hints: true }, app: [Circular] }, dynamicViewHelpers: {}, errorHandlers: [], route: '/', routes: { app: [Circular], routes: { get: [Object] }, params: {}, _params: [], middleware: [Function] }, router: [Getter], _connectionKey: '4:0.0.0.0:8000', usedRouter: true } debug - setting request GET /socket.io/1/jsonp-polling/55WsWC_tbYR7MJXoIhrK?t=1344310340711&i=0 debug - setting poll timeout debug - discarding transport debug - clearing poll timeout { stack: [ { route: '', handle: [Function] }, { route: '', handle: [Function] } ], _connections: 5, connections: [Getter/Setter], allowHalfOpen: true, _handle: { writeQueueSize: 0, onconnection: [Function: onconnection], owner: [Circular] }, _events: { request: [ [Function] ], connection: [Function: connectionListener], listening: [ [Function] ], error: [Function], upgrade: [ [Function] ], close: [Function] }, httpAllowHalfOpen: false, cache: {}, settings: { env: 'development', hints: true }, redirects: {}, isCallbacks: {}, _locals: { settings: { env: 'development', hints: true }, app: [Circular] }, dynamicViewHelpers: {}, errorHandlers: [], route: '/', routes: { app: [Circular], routes: { get: [Object] }, params: {}, _params: [], middleware: [Function] }, router: [Getter], _connectionKey: '4:0.0.0.0:8000', __usedRouter: true }

sarenji commented 12 years ago

Hi Ronal,

Have you enabled WebRTC in about:flags on Google Chrome Canary? If not, please follow the instructions here: http://www.webrtc.org/running-the-demos#TOC-Media-Stream-and-Peer-Connection-Flags-

David

vetinh0607 commented 12 years ago

Hi Denis, I have enable flags "Enable peerconnection" on canary. Because the lastest version of canary there only this flag, it have not a "Enable media stream" flag. Your examp do not work, my examp is too. Have any browsers support WEBRTC and what is the browser which run with your example in: http://multiwebrtc.nodejitsu.com/#3? Any things else are wrong here, Denis?

BR, Ronal.

On Tue, Aug 7, 2012 at 10:51 AM, David Peter notifications@github.comwrote:

Hi Ronal,

Have you enabled WebRTC in about:flags on Google Chrome Canary? If not, please follow the instructions here: http://www.webrtc.org/running-the-demos#TOC-Media-Stream-and-Peer-Connection-Flags-

David

— Reply to this email directly or view it on GitHubhttps://github.com/webRTC/webrtc.io-demo/issues/1#issuecomment-7543162.

Viên Nguyễn

vetinh0607 commented 12 years ago

Hi Denis, Can you help me? I am starting your demo:

webrtc.io-demo

You can have a look at the demo on http://multiwebrtc.nodejitsu.com https://github.com/webRTC/webrtc.io-demo#instructions-on-how-to-setup-the-demoInstructions on how to setup the demo:

Run in your terminal

git clone git@github.com:webRTC/webrtc.io-demo.git

cd webrtc.io-demo

npm install

cd example

node server.js

In a version of Chrome that have webRTC support.

go to localhost:8000

click allow to see your camera

go to localhost:8000

click allow to see your camera and the connection will be made between your to open windows.

I set up this demo on my CENTOS Server with local ip : 192.168.1.12 There are no fault while config, but when i open this link on chrome canary: 192.168.1.12:8000, a page appear with my local video by webcam. I click on "Create A New Room" button to create a new room. I copy this link and open it with a new tab or on a new laptop but it still appear only local video. Can you tell me how to invite multi user in a room to make a video chat?

Thanks! Looking forward from you! Ronal!

dennismartensson commented 12 years ago

Have a lock at me answer here https://github.com/webRTC/webrtc.io-client/issues/3

You can also read me explaining this in the google groupe https://groups.google.com/forum/?fromgroups=&hl=sv#!topic/discuss-webrtc/26UNDNm-q0w

/Dennis