第1题
程序分析题: 2、以下是两段服务器-客观端网络通讯程序,请仔细阅读代码,并用简洁的语言回答问题。(17分) (1) 指出哪个文件是服务器端,哪个文件是客户端程序?(4分) (2) 在File1.c下划线处补全程序代码;(3分) (3) 借助流程图,用简洁的文字描述这两段代码实现的功能。(10分) File1.c #define MAXLINE 1024 int main(int argc,char **argv) { int listenfd,connfd; struct sockaddr_in sockaddr; char buff[MAXLINE]; int n; memset(&sockaddr,0,sizeof(sockaddr)); sockaddr.sin_family = AF_INET; sockaddr.sin_addr.s_addr = htonl(INADDR_ANY); sockaddr.sin_port = htons(10004); listenfd = socket(AF_INET,SOCK_STREAM,0); bind(listenfd,(struct sockaddr *) &sockaddr,sizeof(sockaddr)); listen(listenfd,1024); printf("Please wait for the client information\n"); for(;;) { if((connfd = accept(listenfd,(struct sockaddr*)NULL,NULL))==-1) { printf("accpet socket error: %s errno :%d\n",strerror(errno),errno); ______________; } n = recv(connfd,buff,MAXLINE,0); buff[n] = '\0'; printf("recv msg from client:%s",buff); close(connfd); } close(listenfd); } ---------------------------------------------------------------- ---------------------------------------------------------------- File2.c #define MAXLINE 1024 int main(int argc,char **argv) { char *servInetAddr = "127.0.0.1"; int socketfd; struct sockaddr_in sockaddr; char recvline[MAXLINE], sendline[MAXLINE]; int n; if(argc != 2) { printf("client <ipaddress> \n"); exit(0); } socketfd = socket(AF_INET,SOCK_STREAM,0); memset(&sockaddr,0,sizeof(sockaddr)); sockaddr.sin_family = AF_INET; sockaddr.sin_port = htons(10004); inet_pton(AF_INET,servInetAddr,&sockaddr.sin_addr) if((connect(socketfd,(struct sockaddr*)&sockaddr,sizeof(sockaddr))) < 0 ) { printf("connect error %s errno: %d\n",strerror(errno),errno); exit(0); } printf("send message to server\n"); fgets(sendline,1024,stdin); if((send(socketfd,sendline,strlen(sendline),0)) < 0) { printf("send mes error: %s errno : %d",strerror(errno),errno); exit(0); } close(socketfd); printf("exit\n"); exit(0); }
第3题
A. 是一种专门提供某种服务的程序
B. 系统启动后自动调用并一直运行着
C. 必须知道服务器程序的地址
D. 主动向服务器发起服务请求
第4题
A、C/S架构中服务器程序应当一直保持运行状态
B、C/S架构中客户端程序应当一直保持运行状态
C、C/S架构中客户端与服务器之间的TCP连接是由客户端发起的
D、C/S架构中服务器需要监听并确认客户端的TCP连接请求
第6题
A、C/S架构中可以一个服务器对一个客户端
B、C/S架构中可以一个服务器对多个客户端
C、C/S架构中服务器的TCP端口是固定不变的
D、C/S架构中客户端的TCP端口是固定不变的
第8题
A、在C/S结构,即客户端/服务器结构中,有专门的数据库服务器,但客户端还要运行客户端应用程序,这也叫做胖客户端。
B、在B/S结构中,客户端在浏览器中只负责表示层逻辑的实现,业务逻辑和数据库都在服务器端运行。也就是说,应用程序部署在服务器端,客户端通过浏览器访问应用程序。
C、通常B/S结构中,客户端发送HTTP请求消息传给服务器,服务器将请求传递给Web应用程序,Web应用程序处理请求,并把相应的HTML页面传给客户端。
D、Web应用是基于C/S结构的,也就是客户端/服务器结构。
第10题
A、客户机负责与用户的交换和数据显示
B、服务器负责数据的存取、调用和管理
C、客户机向服务器发出各种操作要求(语句命令或界面操作菜单指令),服务器验证权限后根据用户请求处理数据并将结果返回客户机
D、数据库数据存放在客户机以方便客户程序访问
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!