Skip to main content

Socket.IO client

Project description

Python implementation of the socket.io client.

Design & goals

This implementation is inspired by the JavaScript socket.io-client implementation.

It is directly using python-engineio-client as underlying engine.io layer.

Protocol parser is copied in parts and at least largely inspired from the package python-socketio written by Miguel Grinberg.

This socket.io client is using gevent for now. This is not a strict design choice but a simplification for this first implementaion. Other asynchronous frameworks are welcome for future versions.

Example

from socketio_client.manager import Manager

import gevent
from gevent import monkey;
monkey.patch_socket()

io = Manager('localhost', 8000)
chat = io.socket('/chat')

@chat.on_connect()
def chat_connect():
    chat.emit("Hello")

@chat.on('welcome')
def chat_welcome():
    chat.emit("Thanks!")

io.connect()
gevent.wait()

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page