Just to clear up any misunderstanding, are you trying this on two laptops on your home network?
If so, you still need wifi for the connection between them, The cool thing about PeerJS is that the data goes directly between the computers (A <--> B) without a server in between (A <--> S <--> B).
Also note that currently DataChannels do not support reliable transfer and have a small MTU, so sending enormous files does not yet work. With PeerJS you can send smaller files, but larger ones will take an unreasonable amount of time.
There is a hack to get around this (in Chrome) by increasing the SDP channels transfer rate (I think), still doesn't solve the MTU/reliable issue though. I originally found it via ShareFest - https://github.com/Peer5/ShareFest/issues/10 & have it integrated (in library form) here - https://github.com/erbbysam/webRTC-data.io
I haven't tested this yet on Chrome Stable though.
It is currently enabled in nightly (Fx22) and Aurora (fx21). No promises it won't get turned off in Fx21 before ship but that appears to be the current target release.
I always thought it would be cool to do distributed cache in browsers with this technology. It would be like an organic CDN, automatically making the internet faster.
I was surprised Bittorent was working on a plugin for the browsers, instead of using this. Same for their live streaming tech. It would be much better if you didn't need extra software/plugins to install to use it.
So what browser API does the PeerJS use to exchange data with something other than a server, particularly another browser?
Is this it? https://tools.ietf.org/html/draft-jesup-rtcweb-data-protocol...