A Python implementation of socket.io-emitter.
socket.io provides a hook point to easily allow you to emit events to browsers from anywhere so socket.io-python-emitter communicates with socket.io servers through redis.
We made some changes, compatible socket.io-redis 0.2.0 and socket.io 0.1.4.
Install via pip
pip install socket.io-emitter
from socket_io_emitter import Emitter
io=Emitter({'host': 'localhost', 'port':6379})
io.Emit('broadcast event','Hello from socket.io-python-emitter')
The following options are allowed:
- client: is a redis-py compatible client
- This argument is optional.
- key: the name of the key to pub/sub events on as prefix (socket.io)
- host: host to connect to redis on (localhost)
- port: port to connect to redis on (6379)
If you don't want to supply a redis client object, and want socket.io-python-emitter to initialize one for you, make sure to supply the host and port options.
Specifies a specific room that you want to emit to.
io=Emitter({'host': 'localhost', 'port':6379})
io.In("room-name").Emit("news","Hello from python emitter");
io=Emitter({'host': 'localhost', 'port':6379})
io.To("room-name").Emit("news","Hello from python emitter");
We are flattening the room parameter from [] and *argv, so you can also send to several rooms like this (both examples are valid).
io=Emitter({'host': 'localhost', 'port':6379})
io.To(["room1", "room2"]).Emit("news","Hello from python emitter");
io.To("room1", "room2").Emit("news","Hello from python emitter");
Specifies a specific namespace that you want to emit to.
io=Emitter({'host': 'localhost', 'port':6379})
io.Of("/nsp").In("room-name").Emit("news","Hello from python emitter");
- redis-py by Andy McCurdy @andymccurdy
- msgpack-python by MessagePack
@ziλasal & @abdullahselek