All Projects → codingjoe → ssdp

codingjoe / ssdp

Licence: MIT License
Python asyncio library for Simple Service Discovery Protocol (SSDP).

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to ssdp

nat-api
↔️ Fast port mapping with UPnP and NAT-PMP
Stars: ✭ 22 (-12%)
Mutual labels:  protocol, upnp
UPnP Generic
A simple library that implements port mappings to router using UPnP SSDP for Arduino boards, running on nRF52, SAMD21/SAMD51, STM32F/L/H/G/WB/MP1, Teensy, RP2040-based boards, WT32_ETH01, Portenta_H7, etc. besides ESP8266/ESP32, using ESP WiFi, WiFiNINA, Ethernet W5x00, ESP8266/ESP32 AT-command WiFi, Portenta_H7 Murata WiFi or Vision-shield Ethe…
Stars: ✭ 14 (-44%)
Mutual labels:  ssdp, upnp
Opcua Asyncio
OPC UA library for python > 3.6 asyncio
Stars: ✭ 251 (+904%)
Mutual labels:  protocol, asyncio
ssdp-responder
SSDP responder for Linux, InternetGatewayDevice icon in Windows :)
Stars: ✭ 41 (+64%)
Mutual labels:  ssdp, upnp
simple-matrix-bot-lib
An easy to use bot library for the Matrix ecosystem written in Python. https://matrix.to/#/#simplematrixbotlib:matrix.org
Stars: ✭ 27 (+8%)
Mutual labels:  asyncio
zero
Zero: A simple, fast, high performance and low latency Python framework (RPC + PubSub) for building microservices or distributed servers
Stars: ✭ 296 (+1084%)
Mutual labels:  asyncio
caligo
SelfBot for Telegram
Stars: ✭ 34 (+36%)
Mutual labels:  asyncio
aiohttp-socks
Proxy (HTTP, SOCKS) connector for aiohttp
Stars: ✭ 147 (+488%)
Mutual labels:  asyncio
aioesphomeapi
Python Client for ESPHome native API. Used by Home Assistant.
Stars: ✭ 52 (+108%)
Mutual labels:  asyncio
nxtp
Nxtp is a lightweight protocol for generalized crosschain transfers.
Stars: ✭ 129 (+416%)
Mutual labels:  protocol
kbio
Another Async IO Framework based on io_uring
Stars: ✭ 54 (+116%)
Mutual labels:  asyncio
Sharer
Arduino & .NET serial communication library to read/write variables and remote call functions using the Sharer protocol. Works on Windows, Linux and MacOS.
Stars: ✭ 21 (-16%)
Mutual labels:  protocol
STUP-Protocol
Secure/Speedup TCP-like UDP protocol
Stars: ✭ 12 (-52%)
Mutual labels:  protocol
aiohttp traversal
Traversal based router for aiohttp.web
Stars: ✭ 21 (-16%)
Mutual labels:  asyncio
ethereum-dissectors
🔍Wireshark dissectors for Ethereum devp2p protocols
Stars: ✭ 82 (+228%)
Mutual labels:  protocol
wing-binlog
php mysqlbinlog monitoring system
Stars: ✭ 37 (+48%)
Mutual labels:  protocol
p3ui
C++ & Python User Interface Library
Stars: ✭ 21 (-16%)
Mutual labels:  asyncio
waiter
Delayed iteration for polling and retries.
Stars: ✭ 17 (-32%)
Mutual labels:  asyncio
BedrockProxy
Allow Minecraft Bedrock players on your BungeeCord server!
Stars: ✭ 16 (-36%)
Mutual labels:  protocol
xquic
XQUIC Library released by Alibaba is a cross-platform implementation of QUIC and HTTP/3 protocol.
Stars: ✭ 943 (+3672%)
Mutual labels:  protocol

Python SSDP

Python asyncio library for Simple Service Discovery Protocol (SSDP).

SSDP is a UPnP sub standard. For more information see: https://en.wikipedia.org/wiki/Simple_Service_Discovery_Protocol

Setup

python3 -m pip install ssdp

Usage

import asyncio
import socket

import ssdp


class MyProtocol(ssdp.SimpleServiceDiscoveryProtocol):

    def response_received(self, response, addr):
        print(response, addr)

    def request_received(self, request, addr):
        print(request, addr)


loop = asyncio.get_event_loop()
connect = loop.create_datagram_endpoint(MyProtocol, family=socket.AF_INET)
transport, protocol = loop.run_until_complete(connect)

notify = ssdp.SSDPRequest('NOTIFY')
notify.sendto(transport, (MyProtocol.MULTICAST_ADDRESS, 1982))

try:
    loop.run_forever()
except KeyboardInterrupt:
    pass

transport.close()
loop.close()

Examples

The examples directory contains examples on how to use this library.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].