Skip to content

Comments

add item to middlewares list#49

Open
Ksengine wants to merge 1 commit intoGrahamDumpleton:masterfrom
Ksengine:patch-1
Open

add item to middlewares list#49
Ksengine wants to merge 1 commit intoGrahamDumpleton:masterfrom
Ksengine:patch-1

Conversation

@Ksengine
Copy link

@Ksengine Ksengine commented Nov 18, 2020

added WSocket to list

Simple WSGI HTTP + Websocket Server, Framework, Middleware And App.

Includes

  • Server(WSGI) included - works with any WSGI framework
  • Middleware - adds Websocket support for any WSGI framework
  • Framework - simple Websocket WSGI web application framework
  • App - Event based app for Websocket communication
    When external server used some clients like Firefox requires http 1.1 Server. Middleware, Framework, App
  • Handler - adds Websocket support to wsgiref(python builtin WSGI server)
  • Client -Coming soon...

Common Features

  • only single file less than 1000 lines
  • websocket sub protocol supported
  • websocket message compression supported (works if client asks)
  • receive and send pong and ping messages(with automatic pong sender)
  • receive and send binary or text messages
  • works for messages with or without mask
  • closing messages supported
  • auto and manual close

Alternatives

Non WSGI

WSGI

# added [WSocket](https://github.com/Ksengine/wsocket) to list

## Simple WSGI HTTP + Websocket Server, Framework, Middleware And App.

## Includes
- Server(WSGI) included - works with any WSGI framework
- Middleware - adds Websocket support for any  WSGI framework
- Framework - simple Websocket WSGI web application framework
- App - Event based app for Websocket communication
**When external server used some clients like Firefox requires `http 1.1` Server. Middleware, Framework, App**
- Handler - adds Websocket support to [wsgiref](https://docs.python.org/3/library/wsgiref.html "python builtin WSGI server")(python builtin WSGI server)
- Client -Coming soon...

## Common Features

- only single file less than 1000 lines
- websocket sub protocol supported
- websocket message compression supported (works if client asks)
- receive and send pong and ping messages(with automatic pong sender)
- receive and send binary or text messages
- works for messages with or without mask
- closing messages supported
- auto and manual close

## Alternatives
### Non WSGI
- [Autobahn](http://crossbar.io/autobahn/) - huge with extras
- [websocket-client](https://github.com/websocket-client/websocket-client) - client only no server
-[websockets](https://pypi.org/project/websockets/) - python2 not supported

### WSGI
- [Django Channels](https://channels.readthedocs.io/en/stable/) - only for Django. but WSocket middleware can add support for any WSGI framework.
- [Flask-SocketIO](https://flask-socketio.readthedocs.io/en/latest/) - only for Flask.
- [gevent-websocket](https://pypi.org/project/gevent-websocket/) - only for Gevent Server
- [ws4py](https://github.com/Lawouach/WebSocket-for-Python) - works with few servers. but WSocket works with many servers
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant