Если Socket
представляет сторону клиента и ServerSocket
представляет сторону сервера, почему Socket.read
считывает данные со стороны сервера? Я действительно смущен, можно ли разъяснить его мне?
ServerSocket - это снова сокет с дополнительными функциями серверной оконечной точки. Функции сервера включают в себя прослушивание порта, прием входящего соединения и т.д...
.Потому что он читает то, что было послано вам на сервер.
почему socket.read читает данные со стороны сервера
Поскольку он читает данные , отправленные сервером через сеть , это не читая напрямую файловую систему сервера или ресурсы (db, ram или что-то в этом роде), он читает данные, которые уже были обработаны ServerSocket.
Считайте Socket своим веб-браузером, а ServerSocket - удаленным веб-сервером.
Когда вы запрашиваете изображение, страницу и т. Д., Веб-сервер (ServerSocket) записывает байты клиенту, а клиент, в свою очередь, должен их прочитать (чтобы знать, что веб-сервер отправил правильно?) И обработать, отобразив их. конечному пользователю.
То же самое произошло с ServerSocket / Socket, но на более низком уровне. Сокет считывает информацию из ServerSocket.
Есть ли в этом смысл?
Сокет
предназначен для стороны клиента, а ServerSocket
- для стороны сервера.