Code Monkey home page Code Monkey logo

signaling-server's Introduction

Signaling server

Deploy to Azure

Http/https signaling server for WebRTC communication

Run locally

Simply run

npm install
node .\server.js

By default server will run on port 3000 locally. Set environment variable PORT to change it.

Deploy to Azure

Simply click the big button above ๐Ÿ˜„

Note: This application ships with CORS wide open (*, set below). Anytime CORS_ORIGINS contains * as a value, or if it contains no values, any caller will be able to access your service.

You can set the origins that should be allowed to make cross-origin calls to your service by adding comma seperated values to the CORS_ORIGINS environment variable.

Timeouts

Since this server expects a client to use http long polling to request data that the server doesn't yet have, TCP timeouts are a common occurence. When a timeout occurs, the client is expected to simply recognize that the TCP session has ended due to a timeout, and reconnect.

However, when running this server on azure, the server may send an http 500 response, instead of simply timing out the socket. This is an implementation issue of the azure component that handles node applications. As a result, if you're using this server on azure, you must make your client capable of treating http 500 responses as if the socket has timed out. We do this in our client.

Logging

If environment variable APPINSIGHTS_INSTRUMENTATIONKEY is set, logs are available in Application Insights.

Authentication

Authentication with Azure Active Directory B2C is comming soon.

Custom HTTPS certificates

You can configure this server to use a custom SSL certificate at the platform level (azure, heroku, aws, etc) - to learn how to do so on azure, see this page.

signaling-server's People

Contributors

anastasiia-zolochevska avatar bengreenier avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

signaling-server's Issues

[low-pri] document differences when using https

We should provide documentation (or just a link to azure documentation) that clarifies that if you wish to use a signaling-server instance with an SSL cert that isn't the wildcard azure one (ie: *.azurewebsites.net) you need a specific sku.

We should note that on any sku you can use http or the https cert provided by (https://<your-app-name>.azurewebsites.net).

License?

I would like to use this code, but I am unsure as to the license it is under. Can you please clarify that? Thanks!

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.