The library supports sending and receiving of Jamulus protocol messages.
- Fetch server list from central (directory) server
importjamulusserver= ("<hostname>", jamulus.DEFAULT_PORT)
jc=jamulus.JamulusConnector()
jc.sendto(server, "CLM_REQ_SERVER_LIST")
try:
whileTrue:
addr, key, count, values=jc.recvfrom(timeout=1)
ifkey=="CLM_SERVER_LIST":
forserverinvalues:
print(f'{server["name"]} ({server["max_clients"]})')
exceptTimeoutError:
pass- Simple implementation of a Jamulus Central Server
- Jamulus Servers can register / unregister
- Jamulus Clients can get list of registered servers
- Collect server lists from multiple Jamulus Central Servers
- Filters servers by their country ID
- Jamulus Clients can get filtered list of servers
- Simulates a Jamulus Server
- Simulates a Jamulus Client connecting to a Jamulus Server
- The implementation is not proven / tested to be 100% reliable
- Certain exceptions are not handled and can crash the process
These projects were very helpful to understand the Jamulus protocol: