note 117634 deleted from intro.sockets by cmb
| From: | cmb@php.net | Date: | Mon, 13 Jul 2015 09:33:24 +0000 |
| Subject: | note 117634 deleted from intro.sockets by cmb | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-203092@lists.php.net to get a copy of this message | ||
Note Submitter: mohmmadalabed at gmail dot com
----
What Is a Socket?
Normally, a server runs on a specific computer and has a socket that is bound to a specific port
number. The server just waits, listening to the socket for a client to make a connection request.
On the client-side: The client knows the hostname of the machine on which the server is running and
the port number on which the server is listening. To make a connection request, the client tries to
rendezvous with the server on the server's machine and port. The client also needs to identify
itself to the server so it binds to a local port number that it will use during this connection.
This is usually assigned by the system.
A client's connection request
If everything goes well, the server accepts the connection. Upon acceptance, the server gets a new
socket bound to the same local port and also has its remote endpoint set to the address and port of
the client. It needs a new socket so that it can continue to listen to the original socket for
connection requests while tending to the needs of the connected client.
The connection is made
On the client side, if the connection is accepted, a socket is successfully created and the client
can use the socket to communicate with the server.
The client and server can now communicate by writing to or reading from their sockets.
SRC: https://docs.oracle.com/javase/tutorial/networking/sockets/definition.html