This class models server side sockets. The basic model is that the
server socket is created and bound to some well known port. It then
listens for and accepts connections. At that point the client and
server sockets are ready to communicate with one another utilizing
whatever application layer protocol they desire.
As with the other AbstractSocket subclasses, most instance methods of
this class simply redirect their calls to an implementation class.