sanic_sockjs is a SockJS integration for Sanic. SockJS interface is implemented as a Sanic route. Its possible to create any number of different sockjs routes, ie /sockjs/* or /mycustom-sockjs/*. You can provide different session implementation and management for each sockjs route.
Simple Sanic web server is required:
[server:main] use = egg:gunicorn#main host = 0.0.0.0 port = 8080 worker = sanic.worker.GunicornWorker
Example of sockjs route:
def main(global_settings, **settings):
app = Sanic(__main__)
@app.get('/')
def index(request):
...
sanic_sockjs.add_endpoint(app, prefix='/sockjs', handler=chatSession)
app.run("127.0.0.1", 8080)
Client side code:
<script src="//cdn.jsdelivr.net/npm/sockjs-client@1/dist/sockjs.js"></script>
<script>
var sock = new SockJS('http://localhost:8080/sockjs');
sock.onopen = function() {
console.log('open');
};
sock.onmessage = function(obj) {
console.log(obj);
};
sock.onclose = function() {
console.log('close');
};
</script>
Supported transports
websocket hybi-10
iframe-eventsource (EventSource used from an iframe via postMessage)
iframe-htmlfile (HtmlFile used from an iframe via postMessage.
Requirements
Python >= 3.6
Sanic >= 19.3.1 https://github.com/huge-success/sanic
Examples
You can find several examples in the sanic_sockjs repository at github.
https://github.com/ashleysommer/sanic-sockjs/tree/master/examples
License
sockjs is offered under the Apache 2 license.
CHANGES
0.1.0 (2020-04-08)
Initial release
Ported from aiohttp/SockJS
Works on all Sanic 19.3.1-to-19.12.2
Metadata
Release files for sanic-sockjs 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sanic-sockjs-0.1.0.tar.gz | 34.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sanic_sockjs-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 57.5 kB
Release files / sanic-sockjs-0.1.0.tar.gz
| Download URL | sanic-sockjs-0.1.0.tar.gz |
|---|---|
| Size | 34.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a54134b1a9c3a198cbca6c624c54b53361cf48760fd9d6831ebf2481ba08619a
|
|
BLAKE2b-256 checksum How to use checksums |
6c5cad67cd74d50fff00cc4a57998b64b9bed0b95aaf61bacb39209a634a5a8d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.6.9
|
Release files / sanic_sockjs-0.1.0-py3-none-any.whl
| Download URL | sanic_sockjs-0.1.0-py3-none-any.whl |
|---|---|
| Size | 23.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
69e5c485de148f7a4a6530ecd5d7f01849779ec2c679d791ae36c37a4266562c
|
|
BLAKE2b-256 checksum How to use checksums |
00ba7b14159f492f39af070b3682ae328f2379f9427269d9bc49b55684eb766e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.6.9
|