Question: echo server main routine: int main ( int argc, char * * argv ) { int listenfd, connfd, port, clientlen; struct sockaddr _ in clientaddr;
echo server main routine: int mainint argc, char argv
int listenfd, connfd, port, clientlen;
struct sockaddrin clientaddr;
struct hostent hp;
char haddrp;
port atoiargv; the server listens on a port passed
on the command line
listenfd openlistenfdport;
while
clientlen sizeofclientaddr;
connfd AcceptlistenfdSA &clientaddr, &clientlen;
hp Gethostbyaddrconst char &clientaddr.sinaddr.saddr,
sizeofclientaddrsinaddr.saddr AFINET;
addrp inetntoaclientaddrsinaddr;
printfserver connected to s s
hphname, haddrp;
echoconnfd;
Closeconnfd;
trace each line, does this server accepts multiple clients? and how do we fork so the server accepts multiple clients and creates socket file descriptor for each?
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
