Это потому, что концептуально ServerSocket
не предоставляет объект прямого подключения, который можно использовать для отправки и получения данных. ServerSocket
- это инструмент, который можно использовать с методом .accept()
, чтобы он мог прослушивать выбранный порт и генерировать новое реальное соединение, когда клиент пытается подключиться.
Вот почему вы не можете получить InputStream
от ServerSocket
. Поскольку многие клиенты могут подключаться к одному и тому же серверу, каждый клиент заставит сокет сервера генерировать новый Socket
(то есть открытое TCP-соединение ), который возвращается из .accept()
, через который вы можете отправлять и получить, используя InputStream
и OutputStream
.