Vidyalelo
Computer Science · Q477

Linux

Engineering and GATE · Computer Science · question 477

Q477

What is the the response of this server for this client if both programs are running on the same system? /*This is server.c*/ #include #include #include #include #include int main() int fd_server, fd_client, len, len_client; struct sockaddr_in add_server, add_client; char buff[10]; fd_server = socket(AF_INET,SOCK_STREAM,0); if (fd_server == -1) perror("fd_sock"); exit(1); add_server.sin_family = AF_INET; add_server.sin_port = htons(4001); add_server.sin_addr.s_addr = inet_addr("127.0.0.1"); len = sizeof(add_server); len = sizeof(add_client); if( bind(fd_server,(struct sockaddr*)&add_server,len) != 0) perror("bind"); if(listen(fd_server,5) != 0) perror("listen"); fd_client = accept(fd_server,(struct sockaddr*)&add_client,&len_client); if(fd_client == -1) perror("accept"); read(fd_client,buff,10); return 0; /*This is the client.c*/ #include #include #include #include int main() int fd_client,fd, len; struct sockaddr_in add_server; fd_client = socket(AF_INET,SOCK_STREAM,0); if (fd_client == -1) perror("fd_sock"); exit(1); add_server.sin_family = AF_INET; add_server.sin_port = ntohs(4001); add_server.sin_addr.s_addr = inet_addr("127.0.0.1"); len = sizeof(add_server); fd = connect(fd_client,(struct sockaddr*)&add_server,len); if(fd == -1) perror("connect"); write(fd,"Hello ",6); return 0;

A.
the server will write back to the client whatever the clinet will write to the server
Answer
B.
the client server communication will not work
C.
the response can not be determined
D.
none of the mentioned

Answer: Option A

Solution

Answer: Option A
No explanation is given for this question Let's Discuss on Board