---
name: "udpcluster"
section: "3tcl"
platform: "linux"
package: "tcllib"
version: "2.0+dfsg-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/udpcluster"
---

# udpcluster(3tcl)

UDP Peer-to-Peer cluster

```

```

## NAME

udpcluster - UDP Peer-to-Peer cluster

## SYNOPSIS

package require **Tcl 8.5 9**

package require **udpcluster ?0.3.4?**

package require **ip**

package require **nettool**

package require **comm**

package require **interp**

package require **dicttool**

package require **cron**

```

```

## DESCRIPTION

This package is a lightweight alternative to Zeroconf. It utilizes UDP packets to populate a table of services provided by each node on a local network. Each participant broadcasts a key/value list in plain UTF-8 which lists what ports are open, and what protocols are expected on those ports. Developers are free to add any additional key/value pairs beyond those.

Using udpcluster.

For every service you wish to publish invoke:

```
cluster::publish echo@[cluster::macid] {port 10000 protocol echo}
```

To query what services are available on the local network:

```
set results [cluster::search PATTERN]
# And inside that result...
echo@LOCALMACID {
   port 10000
   protocol echo
}
```

To unpublish a service:

```
cluster::unpublish echo@[cluster::macid]
```

Results will Historical Notes:

This tool was originally known as nns::cluster, but as development progressed, it was clear that it wasn't interacting with any of the other facilities in NNS.

## BUGS, IDEAS, FEEDBACK

This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category *nameserv* of the *Tcllib Trackers* \[http://core.tcl.tk/tcllib/reportlist\]. Please also report any ideas for enhancements you may have for either package and/or documentation.

When proposing code changes, please provide *unified diffs*, i.e the output of **diff -u**.

Note further that *attachments* are strongly preferred over inlined patches. Attachments can be made by going to the **Edit** form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.

## KEYWORDS

name service, server

## CATEGORY

Networking

## COPYRIGHT

```
Copyright (c) 2016-2018 Sean Woods <yoda@etoyoc.com>
```
