Coder Social home page Coder Social logo

pirate / webrtcchat Goto Github PK

View Code? Open in Web Editor NEW
254.0 10.0 46.0 710 KB

:lock_with_ink_pen: Pure Browser To Browser Chat (STUN & ICE Servers optional)

Home Page: http://pirate.github.io/WebRTCChat/

License: MIT License

CSS 0.02% JavaScript 97.78% HTML 2.20%
webrtc webrtc-demos chat-application ice-servers stun javascript security

webrtcchat's Introduction

Serverless WebRTC Chat Twitter URL

NOTE: This project was done in the early days of WebRTC and is no longer working as well as it used to, the methods within may be outdated or broken.

Click here to Chat Now.

Pure Browser To Browser Chat, (STUN or ICE Servers optional, it should work without them if don't have a super strict NAT).

Features

  • encrypted chat, with no history stored on refresh
  • bi-directional file sharing
  • bi-directional video and audio sharing
  • optional typing notifications
  • optional setup without STUN/ICE servers for true serverless chat

Create Chat Inteface Screenshot

Chat Interface Screenshot

Links


MIT License | Nick Sweeting 2014
An enhanced & rewritten fork of: https://github.com/cjb/serverless-webrtc

webrtcchat's People

Contributors

cjb avatar konstantin2 avatar pirate avatar redtrumpet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

webrtcchat's Issues

Unable to connect when running from two different laptops on the same network

webrtc_internals_dump-host.txt
webrtc_internals_dump-join.txt

Thanks for this excellent work. It helped me get an idea on how to connect 2 WebRTC channels without using a server / backend. I am however facing a very basic problem. I am able to use the JS application when I open 2 browser instances on the same laptop.

However, surpringly I am unable to to get the JS application to work when I use the applications from 2 different laptops even though they are on the same network. I tried this multiple times and of the many attempts, I was able to get the 2 instances to communicate only once. I am therefore assuming this is some kind of a timing issue.

The client joining the conference (not the one hosting the conference) complains that the "Chat partner disconnected". I am not an expert in WebRTC or JavaScript but I debugged this a little further and found that the client joining the conference receives a "oniceconnectionstatechange" event twice after the offer / answers are exchanged. It first receives "Disconnected" and eventually "Failed".

I am using chrome Version 88.0.4324.104 (Official Build) (64-bit) and am on Windows 10 OS. The behaviour is same even if I use Edge.

I have attached the chrome://webrtc-internals/ logs. Anything else that might help you help me. I am willing to debug the problem further but am unable to figure out how to take this forward.

multiple connections and/or persist connection init info?

I tested this out, looks pretty useful. I wonder how hard the 2 things I mentioned in the title would be to achieve[they may be impossible, input please]?

to clarify:

  1. what would be some paths of least resistance to having more than 2 people connected together? Would it even be possible for more than one person to use the same session-init-credentials? or would that cause interference?

  2. after a successful 'handshake'/session-init, is there any chance some credentials could be persisted - so that the next time the html was fired up, a connection can happen more automatically?

signaling doesn't work on safari

hi thanxs for sharing, i tested on safari and the signaling popups (exchanging the offer) don't work.

so is it just a demo for firefox or something we can use on all platforms?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.