Using Groovy to start a server on the command line
In this recipe, we continue to explore the groovy command's features at one's disposal. This time, we show how to create a process capable of serving client requests through TCP/IP directly from the command line and with one line of code.
How to do it...
The command-line option that we are going to use for this purpose is -l:
By using the -l option, it is trivial to start a simple socket server in Groovy:
groovy -l 4444 -e "println new Date()"
The previous line will start a server that listens to port 4444 and returns the date and time string for every line of data it receives from the clients:
groovy is listening on port 4444
In order to test whether the server actually works, you can start any telnet-like program (for example, KiTTY, if you are on Windows) to connect to a localhost on port 4444, and type any string (for example, What time is it?), and press Enter. The server should reply with a date/time string back as shown in the following screenshot:
In this way, you can quite easily organize communication channels for ad hoc notifications on different hosts.