Сервер «прослушивает» входящие соединения от клиентов. Просто представьте, что номер порта является номером двери, а сервер ждет у этой двери гостей.
Таким образом, когда серверное приложение выполняет serverSock.accept (), оно фактически блокирует и ожидает прибытия клиентов.
Как только клиент попытается подключиться, метод accept () разблокирует сам себя и вернет другой экземпляр Socket, на этот раз представляющий клиента.
Через этот новый экземпляр Socket вы можете узнать, кто является клиентом. Пример кода приложения вашего сервера:
ServerSocket serverSock=new ServerSocket(9000);
Socket clientSock = serverSock.accept(); //this will wait for a client
System.out.println("Yay we have a guest! He's coming from " + clientSock.getInetAddress());