网络编程实用课程考试参考_第1页
网络编程实用课程考试参考_第2页
网络编程实用课程考试参考_第3页
网络编程实用课程考试参考_第4页
网络编程实用课程考试参考_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

以下哪项不属于TCP协议特征的是:()A.面向连接B.完全可靠C.基于流的传输D.低延迟2.下面四个选项中进程的网络地址表示正确的是:()A.UDP9000B.9000C.UDPD.TCP90003.有如下的监听函数调用listen(s,4);其中s为服务器端监听的套接字,且已绑定。若同时有5个客户机连接请求,服务器端如何处理:()A.前四个连接请求进入队列排队,得到正确的确认,第五个会收到连接请求被拒绝的出错信息。B.5个请求进入队列排队,得到正确的确认。C.第一、二个连接请求进入队列排队,得到正确的确认,第三、四、五个会收到连接请求被拒绝的出错信息。D.5个请求都会收到连接请求被拒绝的出错信息。4.下面四个函数中能实现把IP地址从本机字节顺序转换到网络字节顺序的函数是:()A.htons()B.htonl()C.ntohl()D.ntohs()5.在套接字编程接口中,专门定义了3种结构型的数据类型,其中专门针对Internet通信域,存储套接字相关网络地址信息的数据类型是:()A.sockaddrB.sockaddr_inC.in_addrD.inet-addr6.创建套接字的函数定义为:SOCKETsocket(intaf,inttype,intprotocol);若要创建一个socket,使用Internet通信域的TCP/IP协议簇,传输层协议为UDP协议,以下调用正确的是:()A.socket(AF_INET,SOCK_STREAM,0);B.socket(AF_INET,SOCK_DGRAM,0);C.socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);D.socket(AF_INET,SOCK_RAW,0);7.下面函数中在面向连接服务器端开发不会调用的是:()A.connect()B.socket()C.listen()D.accept()8.在面向连接的套接字编程中,服务器端必须执行的一个独特函数是:()A.listenB.connectC.recvD.send9.recv()函数是基于TCP协议的接收信息的函数,对应的信息发送函数是:()A.sendto()B.connect()C.recvfrom()D.send()10.下面四个函数中能设置套接字属性的是:()A.bind()B.setsockopt()C.connect()D.accept()1.以下哪项不属于UDP协议特征的是:()A.无连接B.不保障可靠C.基于流的传输D.低延迟2.下面四个选项中进程的网络地址表示正确的是:()A.TCP9000B.9000C.TCPD.TCP90003.下面四个函数中能实现把端口从本机字节顺序转换到网络字节顺序的函数是:()A.htons()B.htonl()C.ntohl()D.ntohs()4.在套接字编程接口中,专门定义了3种结构型的数据类型,其中专门用来存储IP地址的数据类型是:()A.sockaddrB.sockaddr_inC.in_addrD.inet-addr5.创建套接字的函数定义为:SOCKETsocket(intaf,inttype,intprotocol);若要创建一个socket,使用Internet通信域的TCP/IP协议簇,传输层协议为TCP协议,以下调用正确的是:()A.socket(AF_INET,SOCK_STREAM,0);B.socket(AF_INET,SOCK_DGRAM,0);C.socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);D.socket(AF_INET,SOCK_RAW,0);6.下面函数中在面向连接客户端开发不会调用的是:()A.connect()B.socket()C.listen()D.send()7.recvfrom()函数是基于UDP协议的接收信息的函数,对应的信息发送函数是:()A.sendto()B.connect()C.recvfrom()D.send()8.客户端发出connect()调用后,若返回WSAENOBUFS,表示:()A.无可用缓冲区B.当前无法从本主机访问网络C.套接口早已连接D.描述字不是一个套接口9.在面向数据报的套接字编程中,可能执行到的函数是:()A.listenB.connectC.recvfromD.send10.如果工程中的某个源文件想使用printf()函数,那么此源文件应该添加对该函数所属的头文件的包含命令,下列语句正确的是:()A.#include<iostream.h>B.#include<stdio.h>C.#include<winsock2.h>D.#include<stdafx.h>16.CAsyncSocket类中,不可能出现的网络事件是:()A.FD_READB.FD_WRITEC.FD_CONNECTD.FD_SIZE17.CInternetSession类中用于建立与Gopher服务器连接的成员函数是:()A.FtpRemoveDirectory()B.GetContext()C.FtpGetFile()D.GetGopherConnection()18.在HTTP请求中,有消息体用来向服务器上传数据的方法是:()A.GET方法B.POST方法C.HEAD方法D.PUT方法19.CHtmlView类中用于刷新的函数是:()A.GoBack()B.GoForward()C.GoHome()D.Refresh()20.邮件传输系统中,发送邮件部分使用的应用层协议是:()A.SMTP协议B.HTTP协议C.FTP协议D.POP3协议11.WinSock以DLL的形式提供,在调用任何WinSockAPI之前,进行初始化时需要调用的函数是:()A.bindB.WSACleanUpC.WSAStartupD.IninInstance12.在使用Win32API编程时,应用程序通过消息循环来获得对消息的处理,而使得消息循环退出的消息是:()A.WM_MOUSEMOVEB.WM_KEYDOWNC.WM_COMMANDD.WM_QUIT13.用于映射Windows消息的宏,前缀为:()A.ON_COMMANDB.ON_WM_C.ON_CONTROLD.ON_MESSAGE14.下面对多线程的描述错误的是:()A.线程不可以提前终止,只能正常终止B.可以调用AfxEndThread()函数来终止一个线程C.MFC支持两种线程,分别是用户接口线程和工作线程D.可以使用return语句来终止一个线程15.在MFCWinSock类的编程中,当调用CAsyncSocket对象的成员函数后,为了获得调用成员函数失败原因的详细信息,可以使用的成员函数是:()A.WSAGetLastError()B.WSASetLastError()C.GetLastError()D.SetLastError()1.如果网络进程间采用基于TCP协议的无连接的通信方式,那么必须借助___________套接字来编程。2.ntohs()函数的含义是。3.TCP和UDP协议属于传输层协议,HTTP和FTP则属于层协议。4.TCP/IP协议栈采用和相结合的方法,将TCP和UDP各自的65535个端口号分为保留端口号和自由端口号。5.为了简化套接字网络编程,MFC提供了两个套接字类:_____________________和___。6.CAsyncSocket类支持Windows消息驱动机制,体现在该类对象支持6种网络事件。请列举其中5个网络事件,、、、和。1.控制台程序的入口函数是。2.如果网络进程间采用基于UDP协议的无连接的通信方式,那么必须借助___________套接字来编程。3.从套接字所处的地位来讲,套接字上连,下连。4.ntohl()函数的含义是。5.CAsyncSocket类支持Windows消息驱动机制,体现在该类对象支持6种网络事件。对应于6种网络事件存在6种事件处理函数,请列举其中5种事件处理函数,、、、和。6.用于映射命令消息的宏是。用于映射Windows消息宏的前缀是。简要说明套接字的应用场合。套接字编程分为面向连接和无连接两种类型,请说明面向连接套接字编程中客户端的编程流程。解释进程和线程的概念,简要说明如何正常终止线程和提前终止线程。CAsyncSocket类支持Windows消息驱动机制,体现在该类对象支持6种网络事件。对应于6种网络事件存在6种事件处理函数,请列举其中5种事件处理函数。简要说明select选择模型的操作步骤。简要说明WSAStartup函数的初始化过程。什么是阻塞问题?UNIX操作系统下是如何应对的?套接字编程分为面向连接和无连接两种类型,请说明面向连接套接字编程中服务器端的编程流程。在全局中唯一地来标识网络中通信的两个进程需要五元组,请说明五元组由哪几部分组成。CAsyncSocket类支持Windows消息驱动机制,体现在该类对象支持6种网络事件,请列举其中5种网络事件。简要说明WSAEventSelect事件选择模型的操作步骤。简答题参考答案:1.(1)不管是采用对等模式或者客户机/服务器模式,通信双方的应用程序都需要开发。(2)双方所交换数据的结构和交换数据的顺序有特定的要求,不符合现在成熟的应用层协议,甚至需要自己去开发应用层协议,自己设计最适合的数据结构和信息交换规程。2.创建流式套接字,发送连接请求,发送数据,接收数据,关闭套接字。3.进程是处于运行过程中的程序实例,是操作系统调度和分配资源的基本单位。线程是进程的一个实体,执行和调度单位。正常终止线程:在函数执行完毕时能够退出控制函数,并返回一个用来表示终止原因的值。提前终止线程:在线程内部调用AfxEndThread函数,便可强迫终止。5.使用FD_ZERO宏初始化感兴趣的集合;使用FD_SET宏把套接字放到集合中;调用select函数等待;根据select函数的返回值,使用FD_ISSET宏判断套接字是否还在集合中;进行具体处理操作。6.首先,检查系统中是否有一个或多个套接字实例;其次,检查找到Winsock实现是否可用,主要确认版本号;再者,建立Winsock实现与应用程序的联系;最后,函数成功返回,返回必要的参数。1.阻塞是指一个进程执行了一个函数或者系统调用,该函数由于某种原因不能立即完成,因而不能返回调用它的进程,导致进程受控于这个函数而处于等待的状态,进程的这种状态称为阻塞。利用UNIX操作系统的FORK()系统调用,编制多进程并发执行的服务器程序。2.创建流式套接字,绑定该套接字,启动套接字监听,接受客户端的连接请求,读写数据,关闭套接字。5.创建事件对象句柄;关联套接字和事件对象,注册关心的网络事件;等待网络事件触发事件对象句柄的工作状态;检查套接字上所发生的网络事件类型;处理网络事件。1.多线程网络编程的例子。OnOk()函数是主线程中的函数,在该函数中开启一个辅助线程,把整型数j传递给辅助线程;MyThreadFunc是辅助线程对应的线程控制函数。请完成如下程序。在TestDlg.cpp源文件中:CTestDlg::OnOk(){(2分)//定义整型数j,赋值为3(2分)//开启辅助线程,线程控制函数为MyThreadFunc,将j作为参数传入}UINTMyThreadFunc(LPVOIDlpParam)//线程控制函数{ (2分)//把指针参数lpParam转换为整型指针i switch(*i)//对接收到的参数进行分情况判断 { case3://接收的参数为3时 (2分)//弹出信息提示框,显示考生真实姓名 break; default://其他情况 break; } (2分)//线程正常返回,返回值为100}2.FTP客户端查询功能的设计。OnQuery()函数实现查询功能,m_list为存放查询结果的列表框,请完成以下程序。voidCFtpDlg::OnQuery(){ CInternetSession*pSession;//定义会话对象指针变量 CFtpConnection*pConnection;//定义连接对象指针变量 CFtpFileFind*pFileFind;//定义文件查询对象指针变量 CStringstrFileName; BOOLbContinue; pConnection=NULL;//初始化 pFileFind=NULL; UpdateData(TRUE);//获得用户的当前输入(服务器名,用户名和口令) while(m_listFile.GetCount()!=0)m_listFile.DeleteString(0);//清除列表框的内容,在查询之前,清除列表框中原来的记录 pSession=newCInternetSession();//创建Internet会话类对象 pConnection=pSession->GetFtpConnection(m_strFtp,m_strName,m_strPwd); if(pConnection!=NULL) { //创建CFtpFileFind对象,向构造函数传递CFtpConnection对象的指针 pFileFind=newCFtpFileFind(pConnection); CStringstrFile=""; bContinue=pFileFind->FindFile("*"); while(bContinue) { (2分)//使用pFileFind查找下一个文件 (2分)//获得找到的文件的文件名(2分)//判断找到的是否目录(2分)//将目录名放在括弧中 (2分)//将找到的文件或目录名显示在列表框m_list中 }}………………//清理工作}1.计算器的设计。为基于对话框的程序,包括五个静态框、五个编辑框和三个按钮,实现加、减、乘的操作。编辑框1对应的变量为m_edit1,编辑框2对应的变量为m_edit2,编辑框3对应的变量为m_edit3,编辑框4对应的变量为m_edit4,编辑框5对应的变量为m_edit5;求和按钮的响应函数为OnAdd(),求差按钮的响应函数为OnSub(),求积按钮的响应函数为OnMulti()。设计的界面如下,请完成以下程序。voidCMy1Dlg::OnAdd(){ (2分)//刷新变量(2分)//计算操作数1和2的“和”,结果放在编辑框3中(2分)//刷新界面}voidCMy1Dlg::OnSub(){ (2分)//计算操作数1和2的“差”,结果放在编辑框4中}voidCMy1Dlg::OnMulti(){ (2分)//计算操作数1和2的“乘积”,结果放在编辑框5中}2.服务器端

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论