This method implements a very simple protocol for whether the user wants the
file or not and then, depending on the choice, it starts downloading the file
from the socket's input stream.
The constructor creates a simple non-user-friendly interface
which allows you to listen for incoming connections, send
files, check your network interfaces and external IP-address,
see the debug area and downloads.