1.
What is the output of this program?
#includeint main() { int fd_socket; fd_socket = socket(AF_UNIX,SOCK_STREAM,0); printf("%d\n",fd_socket); return 0; }
Answer: Option 'D'
To use socket(), the header files sys/types.h and sys/socket.h are required.
Output:
[root@localhost sanfoundry]# gcc -o san san.c
san.c: In function ‘main’:
san.c:6:21: error: ‘AF_UNIX’ undeclared (first use in this function)
san.c:6:21: note: each undeclared identifier is reported only once for each function it appears in
san.c:6:29: error: ‘SOCK_STREAM’ undeclared (first use in this function)
[root@localhost sanfoundry]#
2.
In this program, the third argument of the socket() is used for _____ potocol.
#include#include #include int main() { int fd_socket; if(socket(AF_UNIX,SOCK_STREAM,0) == -1) perror("socket"); return 0; }
Answer: Option 'A'
TCP/IP
3.
By this program the soket “san_sock” will create
#include#include #include #include int main() { struct sockaddr_un add_server; int fd_server; fd_server = socket(AF_UNIX,SOCK_STREAM,0); if(fd_server == -1) perror("socket"); add_server.sun_family = AF_UNIX; strcpy(add_server.sun_path,"san_sock"); if( bind(fd_server,(struct sockaddr*)&add_server,sizeof(add_server)) != 0) perror("bind"); return 0; }
Answer: Option 'C'
in the present working directory
4.
What is the length of of the queue for pending connections in this program?
#include#include #include #include int main() { struct sockaddr_un add_server; int fd_server; fd_server = socket(AF_UNIX,SOCK_STREAM,0); if(fd_server == -1) perror("socket"); add_server.sun_family = AF_UNIX; strcpy(add_server.sun_path,"server_sock2"); if( bind(fd_server,(struct sockaddr*)&add_server,sizeof(add_server)) != 0) perror("bind"); if( listen(fd_server,3) != 0) perror("listen"); return 0; }
Answer: Option 'D'
The second argument of listen() specifies the length for the queue for pending connections.
5.
What is the output of the program?
#include#include #include #include int main() { struct sockaddr_un add_server, add_client; int fd_server, fd_client; int len; char ch; fd_server = socket(AF_UNIX,SOCK_STREAM,0); if(fd_server == -1) perror("socket"); add_server.sun_family = AF_UNIX; strcpy(add_server.sun_path,"san_sock"); if( bind(fd_server,(struct sockaddr*)&add_server,sizeof(add_server)) != 0) perror("bind"); if( listen(fd_server,3) != 0) perror("listen"); len = sizeof(add_client); fd_client = accept(fd_server,(struct sockaddr*)&add_client,&len); printf("Sanfoundry\n"); return 0; }
Answer: Option 'B'
the process will remain block
6.
What is the output of this program?
#include#include #include int main() { int fd; fd = socket(AF_UNIX,SOCK_STREAM,0); printf("%d\n",fd); return 0; }
Answer: Option 'D'
The socket() returns the lowest available file descriptor and in this program i.e. 3.
Output:
[root@localhost sanfoundry]# gcc -o san san.c
[root@localhost sanfoundry]# ./san
3
[root@localhost sanfoundry]#
7.
What is the output of this program?
#include#include #include #include #include int main() { struct sockaddr_un addr; int fd; fd = socket(AF_UNIX,SOCK_STREAM,0); if (fd == -1) perror("socket"); addr.sun_family = AF_UNIX; strcpy(addr.sun_path,"san_sock"); if (bind(4,(struct sockaddr*)&addr,sizeof(addr)) == -1) printf("Sanfoudnry\n"); return 0; }
Answer: Option 'A'
this program will print the string “Sanfoundry”
8.
What this program is not able to connect with any client program?
#include#include #include #include int main() { struct sockaddr_un add_server, add_client; int fd_server, fd_client; int len; char ch; fd_server = socket(AF_UNIX,SOCK_STREAM,0); if(fd_server == -1) perror("socket"); add_server.sun_family = AF_UNIX; strcpy(add_server.sun_path,"san_sock"); if( bind(fd_server,(struct sockaddr*)&add_server,sizeof(add_server)) != 0) perror("bind"); len = sizeof(add_client); fd_client = accept(fd_server,(struct sockaddr*)&add_client,&len); printf("Sanfoundry\n"); return 0; }
Answer: Option 'A'
the listen() is missing
9.
What is the output of this program?
#include#include #include #include int main() { struct sockaddr_un add_server, add_client; int fd_server, fd_client; int len; char ch; fd_server = socket(AF_UNIX,SOCK_STREAM,0); if(fd_server == -1) perror("socket"); add_server.sun_family = AF_UNIX; strcpy(add_server.sun_path,"san_sock"); if( bind(fd_server,(struct sockaddr*)&add_server,sizeof(add_server)) != 0) perror("bind"); len = sizeof(add_client); fd_client = connect(fd_server,(struct sockaddr*)&add_client,&len); printf("Sanfoundry\n"); return 0; }
Answer: Option 'C'
error
10.
What is the output of this program?
#include#include #include #include #include int main() { struct sockaddr_in addr; int fd; fd = socket(AF_UNIX,SOCK_STREAM,0); if (fd == -1) perror("socket"); addr.sun_family = AF_UNIX; strcpy(addr.sun_path,"san_sock"); if (bind(4,(struct sockaddr*)&addr,sizeof(addr)) == -1) printf("Sanfoudnry\n"); return 0; }
Answer: Option 'A'
error The structure used for AF_UNIX if sockaddr_un.
Output:
[root@localhost sanfoundry]# gcc -o san san.c
san.c: In function ‘main’:
san.c:14:6: error: ‘struct sockaddr_in’ has no member named ‘sun_family’
san.c:15:2: warning: incompatible implicit declaration of built-in function ‘strcpy’ [enabled by default] san.c:15:13: error: ‘struct sockaddr_in’ has no member named ‘sun_path’
[root@localhost sanfoundry]#