1 2[//000000001]: # (udpcluster \- Lightweight UDP based tool for cluster node discovery) 3[//000000002]: # (Generated from file 'udpcluster\.man' by tcllib/doctools with format 'markdown') 4[//000000003]: # (Copyright © 2016\-2018 Sean Woods <yoda@etoyoc\.com>) 5[//000000004]: # (udpcluster\(n\) 0\.3\.3 tcllib "Lightweight UDP based tool for cluster node discovery") 6 7<hr> [ <a href="../../../../toc.md">Main Table Of Contents</a> | <a 8href="../../../toc.md">Table Of Contents</a> | <a 9href="../../../../index.md">Keyword Index</a> | <a 10href="../../../../toc0.md">Categories</a> | <a 11href="../../../../toc1.md">Modules</a> | <a 12href="../../../../toc2.md">Applications</a> ] <hr> 13 14# NAME 15 16udpcluster \- UDP Peer\-to\-Peer cluster 17 18# <a name='toc'></a>Table Of Contents 19 20 - [Table Of Contents](#toc) 21 22 - [Synopsis](#synopsis) 23 24 - [Description](#section1) 25 26 - [Bugs, Ideas, Feedback](#section2) 27 28 - [Keywords](#keywords) 29 30 - [Category](#category) 31 32 - [Copyright](#copyright) 33 34# <a name='synopsis'></a>SYNOPSIS 35 36package require Tcl 8\.5 37package require udpcluster ?0\.3\.3? 38package require ip 39package require nettool 40package require comm 41package require interp 42package require dicttool 43package require cron 44 45# <a name='description'></a>DESCRIPTION 46 47This package is a lightweight alternative to Zeroconf\. It utilizes UDP packets 48to populate a table of services provided by each node on a local network\. Each 49participant broadcasts a key/value list in plain UTF\-8 which lists what ports 50are open, and what protocols are expected on those ports\. Developers are free to 51add any additional key/value pairs beyond those\. 52 53Using udpcluster\. 54 55For every service you wish to publish invoke: 56 57 cluster::publish echo@[cluster::macid] {port 10000 protocol echo} 58 59To query what services are available on the local network: 60 61 set results [cluster::search PATTERN] 62 # And inside that result... 63 echo@LOCALMACID { 64 port 10000 65 protocol echo 66 } 67 68To unpublish a service: 69 70 cluster::unpublish echo@[cluster::macid] 71 72Results will Historical Notes: 73 74This tool was originally known as nns::cluster, but as development progressed, 75it was clear that it wasn't interacting with any of the other facilities in NNS\. 76 77# <a name='section2'></a>Bugs, Ideas, Feedback 78 79This document, and the package it describes, will undoubtedly contain bugs and 80other problems\. Please report such in the category *nameserv* of the [Tcllib 81Trackers](http://core\.tcl\.tk/tcllib/reportlist)\. Please also report any ideas 82for enhancements you may have for either package and/or documentation\. 83 84When proposing code changes, please provide *unified diffs*, i\.e the output of 85__diff \-u__\. 86 87Note further that *attachments* are strongly preferred over inlined patches\. 88Attachments can be made by going to the __Edit__ form of the ticket 89immediately after its creation, and then using the left\-most button in the 90secondary navigation bar\. 91 92# <a name='keywords'></a>KEYWORDS 93 94[name service](\.\./\.\./\.\./\.\./index\.md\#name\_service), 95[server](\.\./\.\./\.\./\.\./index\.md\#server) 96 97# <a name='category'></a>CATEGORY 98 99Networking 100 101# <a name='copyright'></a>COPYRIGHT 102 103Copyright © 2016\-2018 Sean Woods <yoda@etoyoc\.com> 104