While developing a multimedia streaming network application for a client-server communication paradigm, how will you control the flow of data between client and server applications?
In this scenario The fact is that concurrent server typically starts before the client does, and waits for client to request for service or connection. If it then continues to wait for additional client requests after the client connection is closed.
Coming to how client - server session is generated
There are 8 steps that helps to control the flow of data between client and server applications.
Step 1 - Client and Server create a stream socket s with socket call.
Step 2 - (This is an OPTIONAL for client) Server bind socket s to a local address with the bind() call.
Step 3 - Server uses the listen() call to alert the TCP/IP machine of the willingness to accept connections.
Step 4 - Client connects socket s to a foreign host with the connect() call.
Step 5 - Server accepts the connection and receives a second socket, for example ns, with the accept() call.
Step 6 and 7 - Client reads and writes data on socket s and Server reads and writes data on socket ns by using send() and recv() calls, until all data has been exchanged.
Step 8 - Server closes socket ns with the close() call. Client closes socket s and end the TCP/IP session with the close() call. and go to step 5.
Step by step
Solved in 2 steps with 1 images