DEV Community

Yaroslav Polyakov
Yaroslav Polyakov

Posted on

ws-emit: easy websocket microservice

WS-Emit is simple to use microservice app to send instant messages (websocket events) from backend to frontend web applications running in browser (one way).

ws-emit handles CORS configuration and authentication mechanism for different room-spaces (Alice cannot receive messages sent to Bob, but they both can receive public messages).

Example usage

  • ecommerce website may update prices, stock and orders information on page in realtime, without need to refresh.
  • social network may show user if someone is writing new comment right now and display comment when it will be submitted
  • backend may update frontend about status of long-running requests, such as 'build is N% ready', 'deploying'

WS-Emit benefits

  • ws-emit is isolated microservice, not requires any integration with your application
  • Compatible with application in any programming languages (if they can send HTTP requests or publish data to redis), any frameworks, any application web server

WS-Emit is based on Flask-SocketIO and sending message is as simple as in any other flask-socketio application:

socketio.emit('update', data, room='time')
Enter fullscreen mode Exit fullscreen mode

or via HTTP interface:

curl -d @x.json -H "Content-Type: application/json" -X POST http://localhost:8899/emit
Enter fullscreen mode Exit fullscreen mode

More info in github repo: https://github.com/yaroslaff/ws-emit

Top comments (0)