What is the difference between Socket and ServerSocket?

Viewed 69832

If Socket represents client side and ServerSocket represents server side, why Socket.read reads the data from server side? I'm really confused, Can you please clarify it to me?

9 Answers

why socket.read reads the data from serverside

Because it is reading the data sent by the server through the network, it is not reading directly the server filesystem or resouces ( db , ram or anything like that ) it is reading the data that was already processed by the ServerSocket.

Think about the Socket as your web browser and the ServerSocket as the remote webserver.

When you request an image, page, etc, the webserver ( The ServerSocket ) writes the bytes to the client, in turn the client has to read them ( to know what the webserver sent right? ) and process them by displaying them to the final user.

The same happend with ServerSocket/Socket but at a lower level. The socket reads information from the ServerSocket.

Does it make sense?

ServerSocket is again a Socket with additional features of server endpoint. The server features includes listening to the port and accepting an incoming connection etc...

Because it's reading what has been sent to you by the server.

Related