Debugging Question:

Download Job Interview Questions and Answers PDF

What is the problem with this server program?

#include<stdio.h>
#include<stdlib.h>
#include<netinet/in.h>
#include<sys/types.h>
#include<sys/socket.h>

int main()
{
int fd_server, fd_client, len;
struct sockaddr_in add_server;
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("122.23.1.1");
len = sizeof(add_server);
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_server,&len);
if(fd_client == -1)
perror("accept");
return 0;
}
a) it can not accept the request of any client
b) it will give the segmentation fault
c) there is no problem with this program
d) none of the mentioned

Linux Debugging Interview Question
Linux Debugging Interview Question

Answer:

a) it can not accept the request of any client

Download Linux Debugging Interview Questions And Answers PDF

Previous QuestionNext Question
What is the output of this program?
#include<stdio.h>
#include<sys/socket.h>
int main()
{
int ret;
ret = shutdown(0,0);
printf("%dn",ret);
return 0;
}
a) 0
b) -1
c) can not be determined
d) none of the mentioned
What is the output of this program no 10?
#include<stdio.h>
#include<stdlib.h>
#include<netinet/in.h>
#include<sys/types.h>
#include<sys/socket.h>

int main()
{
int fd_server, fd_client, len, len_client;
struct sockaddr_in add_server;
fd_server = socket(AF_INET,SOCK_STREAM,0);
fd_client = accept(fd_server,(struct sockaddr*)&add_server,&len);
if(fd_client == -1)
perror("accept");
if(listen(fd_server,5) != 0)
perror("listen");
return 0;
}
a) syntax error
b) error at the time of compilation
c) segmentation fault
d) none of the mentioned