Both utility and Go package to wait for ports to open (TCP, UDP).
An example of a simple TCP chat in Go with logic explanation.