当前位置:文档之家› 网络编程实用教程课后习题

网络编程实用教程课后习题

网络编程实用教程课后习题
网络编程实用教程课后习题

第一章网络编程基础

1.什么是线程,什么是进程?

答:进程是处于运行过程中的程序实例,是操作系统调度和分配资源的基本单位。一个进程实体由程序代码、数据和进程控制块三部分构成。线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。

2.描述网络应用程序的一般组成。为什么说应用层协议是在应用程序中实现的?

答:从功能上,可以将网络应用程序分为两部分,一部分是专门负责网络通信的模块,它们与网络协议栈相连接,借助网络协议栈提供的服务完成网络上数据信息的交换。另一部分是面向用户或者作其他处理的模块,它们接收用户的命令,或者对借助网络传输过来的数据进行加工,这两部分模块相互配合,来实现网络应用程序的功能。

2.实现网间进程通信必须解决哪些问题?

答:(1)网间进程的标识问题;(2)如何与网络协议栈连接的问题;(3)协议的识别问题;(4)不同的通信服务的问题

4.说明TCP/IP中,端口的概念和端口的分配机制。

答:端口是TCP/IP协议族中,应用层进程与传输层协议实体间的通信接口。TCP/IP协议采用了全局分配(静态分配)和本地分配(动态分配)相结合的分配方法。

对于TCP,或者UDP,将它们的全部65535个端口号分为保留端口号和自由端口号两部分。保留端口的范围是0—1023,又称为众所周知的端口或熟知端口(well-known port),其余的端口号,1024-65535,称为自由端口号,采用本地分配,又称为动态分配的方法。

总之,TCP或UDP端口的分配规则是:

端口0:不使用,或者作为特殊的使用;端口1-255:保留给特定的服务,TCP和UDP均规定,小于256的端口号才能分配给网上著名的服务;端口256-1023:保留给其他的服务,如路由;

端口1024-4999:可以用作任意客户的端口;端口5000-65535:可以用作用户的服务器端口。

5.什么是网络应用进程的网络地址?说明三元组和五元组的概念。

答:应用层进程地址=(传输层协议,主机的IP地址,传输层的端口号),它标识了因特网中,进程间通信的一个端点,也把它称为进程的网络地址。

(传输层协议,主机的IP地址,传输层的端口号),这样一个三元组,叫做一个半相关(half-association)。

(传输层协议,本地机IP地址,本地机传输层端口,远地机IP地址,远地机传输层端口),五元组称为一个全相关(association)。即两个协议相同的半相关才能组合成一个合适的全相关,或完全指定一对网间通信的进程。

6.举例说明面向消息的协议与基于流动协议有什么不同。

答:例如甲向乙发送三个消息,分别是:128、64和32字节。

面向消息的协议中,如果接受缓冲区是256字节,足以接收3条消息,且这三条消息全部达到。乙仍然需要发送3条读取消息。分别返回128、64、32字节,而不用一次读取来调用者单个数据包。

基于流的消息协议中,在接收端乙的堆栈把所有进来的消息数据包聚集在一起,放入堆栈,等待应用进程读取。进程发送读取命令,指定了进程接收缓冲区,如果进程缓冲区有256字节,系统马上返回全部224字节。

7.TCP提供的服务有哪些特征?

答:应用层进程提供一个面向连接的、端到端的、完全可靠的(无差错、无丢失、无重复或失序)全

双工的流传输服务。允许网络中的两个应用程序建立一个虚拟的链接,在任何一个方向上发送数据,把数据当作一个双向字节流进行交换,最后终止连接。

8.简要说明三类网络编程。

答:基于WWW应用的网络编程技术,包括所见即所得的网页制作工具,和动态服务器页面的制作技术。.NET平台有四组产品①开发工具②专用服务器③ Web 服务。④设备。https://www.doczj.com/doc/d17872143.html,顺应了软件工业的趋势,包括4个方面:①分布式计算②组件化③企业级别的服务④ WEB 范型转移。.NET平台由三层

软件构成①顶层是全新的开发工具https://www.doczj.com/doc/d17872143.html,,②中间层包括三部分:.NET服务器、.NET服务构件和.NET 框架。③底层是WINDOWS操作系统。Web服务是松散耦合的可复用的软件模块,在Internet上发布后,能通过标准的Internet 协议在程序中访问,具有以下的特点:(1)可复用(2)松散耦合(3)封装了离散(4)Web服务可以在程序中访问(5)Web服务在Internet上发布

9.说明C/S模式的概念、工作过程和特点。

答:C/S模式即客户机/服务器模式,是应用程序最常用的通信模式。

服务器的工作过程是:(1)打开一通信通道,并告知服务器所在的主机,它愿意在某一公认的地址上接收客户请求。(2)等待客户的请求到达该端口。(3)服务器接收到服务请求,处理该请求并发送应答信号。为了能并发地接收多个客户的服务请求,要激活一个新进程或新线程来处理这个客户请求(如UNIX 系统中用fork、exec)。服务完成后,关闭此新进程与客户的通信链路,并终止。(4)返回第二步,等待并处理另一客户请求。(5)在特定的情况下,关闭服务器。

客户方工作过程:

(1)打开一通信通道,并连接到服务器所在主机的特定监听端口。(2)向服务器发送请求报文,等待并接收应答;继续提出请求,与服务器的会话按照应用协议进行。(3)请求结束后,关闭通信通道并终止。

特点:(1)客户和服务器都是软件进程,C/S模式是网络上通过进程通信建立分布式应用的常用模型。(2)非对称性:服务器通过网络提供服务,客户通过网络使用服务,这种不对称性体现在软件结构和工作过程上。(3)对等性:客户和服务器必有一套共识的约定,必与以某种应用层协议相联,并且协议必须在通信的两端实现。(4)服务器的被动性:服务器必须先行启动,时刻监听,及时服务,只要有客户请求,就立即处理并响应,回传信息。但决不主动提供服务。(5)客户机的主动性:客户机可以随时提出请求,通过网络得到服务,也可以关机走人,一次请求与服务的过程是由客户机首先激发的。(6)一对多:一个服务器可以为多个客户机服务,客户机也可以打开多个窗口,连接多个服务器。(7)分布性与共享性:资源在服务器端组织与存储,通过网络分散在多个客户端使用。

10.说明用户和客户机,服务器和服务器类计算机的区别。

答:“客户”(client)和服务器都指的是应用进程,即计算机软件。

“用户”(user)指的是使用计算机的人。

服务器(server)这个术语来指那些运行着的服务程序。

服务器类计算机(server-class computer)这一术语来称呼那些运行服务器软件的强大的计算机。

第二章 UNIX套接字编程接口

2.实现套接字编程接口的两种方式是什么?

答:一种是在操作系统的内核中增加相应的软件来实现,一种是通过开发操作系统之外的函数库来实现。

4.什么是套接字?

答:是应用程序通过网络协议栈进行通信交互的接口。

5.说明套接字特点。

答:(1)通信域。套接字通常只和同一域中的套接字交换数据。如果数据交换要穿越域的边界,就一定要执行某种解释程序。(2)套接字有三种类型,流式、数据包和原始套接字。(3)套接字由应用层创建,并为其服务,而后被释放。(4)使用确定的IP地址和传输层端口号。

6.说明套接字应用场合。

答:(1)不管是采用对等模式或者客户机/服务器模式,通信双方的应用程序都需要开发。(2)双方所交换数据的结构和交换数据的顺序有特定的要求,不符合现在成熟的应用层协议,甚至需要自己去开发应用层协议,自己设计最适合的数据结构和信息交换规程。

7.说明本机字节顺序和网络字节顺序的概念。

答:在具体计算机中的多字节数据的存储顺序,称为本机字节顺序。多字节数据在网络协议报头中的存储顺序,称为网络字节顺序。

8.流式套接口的工作过程

9.什么是阻塞问题?如何对应?

答:阻塞是指一个进程执行了一个函数或者系统调用,该函数由于某种原因不能立即完成,因而不能返回调用它的进程,导致进程受控于这个函数而处于等待的状态,进程的这种状态称为阻塞。利用UNIX 操作系统的FORK()系统调用,编制多进程并发执行的服务器程序。

第三章 Windows环境的网络编程

1.试述WinSock 1.1的特点。

答:(1)WinSock 1.1 全面继承了Berkeley Sockets规范

(2)数据库函数。其中六个采用getXbyY()的形式,大多要借助网络上的数据库来获得信息,

(3)WinSock 1.1 扩充了Berkeley Sockets规范

(4)WinSock 1.1只支持TCP/IP协议栈

2.WinSock规范与Berkeley套接口的区别是什么?

答:a.套接口数据类型和该类型的错误返回值

b.select()函数和FD_*宏。在Winsock中,使用select()函数时,应用程序应坚持用FD_XXX宏来设置,初始化,清除和检查fd_set结构。

c.错误代码的获得在Winsock中,错误代码可以使用WSAGetLastError()调用得到。

d.指针所有应用程序与Windows Sockets使用的指针都必须是FAR指针。

e.重命名的函数。(1)close()改变为closesocket()(2)ioctl()改变为ioctlsocket()

f.Winsock支持的最大套接口数目在WINSOCK.H中缺省值是64,在编译时由常量FD_SETSIZE决定。

g.头文件 Berkeley头文件被包含在WINSOCK.H中。一个Windows Sockets应用程序只需简单地包含WINSOCK.H就足够了。h. Winsock规范对于原始套接口的支持.i.Winsock规范对于原始套接口和消息驱动机制的支持。体现在异步选择机制、异步请求函数、阻塞处理方法、错误处理、启动和终止等方面。

3.WinSock的注册和注销过程

答:注册过程:调用WSAStartup 的格式:int WSAStartup( WORD wVersionRequested, LPWSADATA lpWSAData ); wVersionRequested:指定要使用的WinSock的最高版本号, lpWSAData用来返回

WinSockAPI实现细节的WSAData结构变量指针。

注销过程:应用程序必须调用WSACleanup()函数,来解除与Winsock.DLL库的绑定,释放Winsock实现分配给应用程序的系统资源,中止对Windows Sockets DLL的使用。 int WSACleanup ( void );

4.说明WSAStartup函数初始化过程。

(1)查找WinSock.DLL文件,如果有WinSock实现,则调入相关信息。若无,则初始化失败。返回错误信息。(2)。确认版本号。(3)建立WinSock同应用程序的联系。(4)函数创建成功,在WSAData结构中返回许多信息,否则,通知用户“初始化失败”。

5.画框图说明同步套接字的send函数的初始化过程。

第四章

1.为什么说MFC是一个编程框架?它提供了哪些相应的工具?

MFC应用程序框架,简称MFC框架,是由MFC(Microsoft Foundation Class Library)中的各种类结合起来构成的。MFC框架从总体上定义了应用程序的轮廓,并提供了用户接口的标准实现方法,程序员只须通过预定义的接口把具体应用程序特有的东西填入这个轮廓,就能建立Windows下的应用程序。 Microsoft Visual C++提供了相应的工具来完成这个工作:用应用程序向导(AppWizard)可以生成应用程序的骨架文件(代码和资源等);用资源编辑器可以直观地设计用户接口;用类向导(ClassWizard)可以将代码添加到骨架文件;用编译器可以通过类库实现应用程序特定的逻辑。MFC实现了对应用程序概念的封装,把类、类的继承、动态约束、类的关系和相互作用等封装起来。

2.MFC类库封装了哪些内容?

1)对Win32应用程序编程接口的封装

2)对应用程序概念的封装

3)对COM/OLE特性的封装

4)对ODBC功能的封装

3.典型的MDI应用程序AppWizard会自动创建一系列文件,如果工程的名字是My,这些文件的名字是什么?

头文件My.h,实现文件My.cpp,资源文件My.rc和模块定义文件My.def

4.说明构成应用程序的对象之间的关系。

这里,用图的形式可直观地表示所涉及的MFC类的继承或者派生关系,如图4.2所示意。

图4.2 构成MDI应用程序的各对象之间的派生关系

5.说明MFC对象和Windows对象的关系。

所谓Windows对象是Win32下用句柄表示的Windows操作系统对象;所谓MFC对象是C++对象,是一个

C++类的实例。两者有很大的区别,但联系紧密。

以窗口对象为例:

图4.3 MFC的CWnd类窗口对象和Windows的窗口对象的关系

6.说明MFC对象和Windows对象的区别。

(1)对应的数据结构不同

(2)所处的层次不同

(3)创建的机制不同

(4)二者转换的方式不同

(5)使用的范围不同

(6)销毁的方法不同

7.CObject类具有哪些特性?

CObject类有很多有用的特性:对运行时类信息的支持,对动态创建的支持,对串行化的支持,对象诊断输出,等等。

8.说明应用程序、文档模板、边框窗口、视图和文档等的创建关系。P121

答:应用程序是全局对象,在启动程序之前构造;应用程序创建文档模板;文档模板创建文档和边框窗口;边框窗口创建试图。

9.说明WinMain入口函数的流程。P123

10.消息循环的过程是什么?P124

11.应用程序的退出过程是什么?

下面以单击主窗口的关闭按钮为例,来说明应用程序退出的过程。

1)用户单击主窗口的关闭按钮,导致发送MFC标准命令消息ID_APP_EXIT。MFC调用CwinApp::OnAppExit()来完成对该命令消息的缺省处理,主要是向主窗口发送WM_CLOSE消息。

2)主窗口处理WM_CLOSE消息。

3)收到WM_QUIT消息后,退出消息循环,进而退出整个应用程序。

第五章

一、MFC提供的两个套接字类是什么?

答:CAsyncSocket类,CSocket类。

二、为什么说CAsyncSocket类是在很低的层次上对Windows Sockets API进行了封装?

答:它的成员函数和Windows Sockets API的函数调用直接对应。一个CAsyncSocket对象代表了一个Windows套接字。它是网络通信的端点。除了把套接字封装成C++的面向对象的形式供程序员使用以外,这个类唯一所增加的抽象就是将那些与套接字相关的Windows消息变为CAsyncSocket类的回调函数。

三、为什么说Csocket类是对Windows Sockets API的高级封装?

答:CSocket类继承了CAsyncSocket类的许多成员函数,用法一致。CSocket类的高级表现在三个方面:(1)CSocket结合archive类来使用套接字。

(2)CSocket管理了通信的许多方面,如字节顺序问题和字符串转换问题。

(3)CSocket类为Windows消息的后台处理提供了阻塞的工作模式。

四、使用CAsyncSocket类的一般步骤是什么?

五、CAsyncSocket类可以接受并处理哪些消息事件?当这些网络事件发生时,MFC框架作何处理?答:MFC套接字对象可以接受并处理的六种网络事件:

(1)FD_READ事件通知:通知有数据可读。

(2)FD_WRITE事件通知:通知可以写数据。

(3)FD_ACCEPT事件通知:通知监听套接字有连接请求可以接受。

(4)FD_CONNECT事件通知:通知请求连接的套接字,连接的要求已被处理。

(5)FD_CLOSE事件通知:通知套接字已关闭。

(6)FD_OOB事件通知:通知将有带外数据到达

处理:按照Windows的消息驱动机制,MFC框架应当把消息发送给相应的套接字对象,并调用作为该对象成员函数的事件处理函数。事件与处理函数是一一映射的。

在afxSock.h文件中的CAsyncSocket类的声明中,定义了与这六个网络事件对应的事件处理函数。virtual void OnReceive(int nErrorCode); 对应 FD_READ事件

virtual void OnSend(int nErrorCode); 对应 FD_WRITE事件

virtual void OnAccept(int nErrorCode); 对应 FD_ACCEPT事件

virtual void OnConnect(int nErrorCode); 对应 FD_CONNECT事件

virtual void OnClose(int nErrorCode); 对应 FD_CLOSE事件

virtual void OnOutOfBandData(int nErrorCode); 对应 FD_OOB事件

六、CSocket类如何通过Carchive对象来进行数据传输?

答:使用CArchive对象和套接字一起进行数据传输工作,必须使用流式套接字

七、说明CSocket类的编程模型。

答:下面给出针对流式套接字的CSocket类的编程模型

1.服务器端

(1)CSocket sockServ; // 创建空的服务器端监听套接字对象。

// 用众所周知的端口,创建监听套接字对象的底层套接字句柄。

(2)sockServ.Create( nPort );

(3)sockServ.Listen(); // 启动对于客户端连接请求的监听。

(4)CSocket sockRecv; // 创建空的服务器端连接套接字对象。

sockServ.Accept( sockRecv); // 接收客户端的连接请求,并将其他的任务转交给连接套接字对象。(5)CSockFile* file ;

file = new CSockFile( &sockRecv); //创建文件对象并关联到连接套接字对象。

(6)CArchive* arIn, arOut;

arIn = CArchive(&file, CArchive::load); // 创建用于输入的归档对象,

arOut = CArchive( &file, CArchive::store); // 创建用于输出的归档对象。

// 归档对象必须关联到文件对象。

(7)arIn >> dwValue; // 进行数据输入。

adOut << dwValue; // 进行数据输出。输入或输出可以反复进行。

(8)sockRecv.Close();

sockServ.Close(); // 传输完毕,关闭套接字对象。

2.客户端

(1)CSocket sockClient; // 创建空的客户机端套接字对象。

(2)sockClient.Create( ); // 创建套接字对象的底层套接字。

(3)sockClient.Connect( strAddr, nPort ); // 请求连接到服务器。

(4)CSockFile* file ;

file = new CSockFile( &sockClent); //创建文件对象,并关联到套接字对象。

(5)CArchive* arIn, arOut;

arIn = CArchive(&file, CArchive::load); // 创建用于输入的归档对象,

arOut = CArchive( &file, CArchive::store); // 创建用于输出的归档对象。

// 归档对象必须关联到文件对象。

(6)arIn >> dwValue; // 进行数据输入。

adOut << dwValue; // 进行数据输出。输入或输出可以反复进行。

(7)sockClient.Close(); // 传输完毕,关闭套接字对象。

八、说明使用MFCAppWizard创建客户机端应用程序框架具体的步骤?

答:1.使用MFC AppWizard创建客户端应用程序框架。

创建的程序是一个基于对话框的Win32应用程序,将自动创建两个类,应用程序类CTalkcApp,对应的文件是talkc.h和talkc.cpp;对话框类CTalkcDlg,对应的文件是talkcDlg.h和talkcDlg.cpp。支持Windows Socket,使用共享的DLL实现MFC42.DLL。

2.为对话框界面添加控件对象

利用控件面板在程序的主对话框界面中添加相应的可视控件对象,然后修改控件的属性

3.为对话框中的控件对象定义相应的成员变量

4.创建从CAsyncSocket类继承的派生类

(1)选择菜单“插入/新建类”,进入“New Class”对话,选择或输入以下信息:

Class Type:选择MFC Class

Class Infoumation下的Name: 输入CMySocket

Class Infoumation下的Base class:选择CAsyncSocket

点击“OK”按钮,系统会自动生成CMySocket类对应的包含文件MySocket.h和MySocket.cpp文件,在VC界面的Class View中就可以看到这个类。

(2)利用类向导ClassWizard为这个套接字类添加响应消息的事件处理成员函数,此程序中需要添加OnConnect,OnClose和OnReceive三个函数。

(3)为套接字类CMySocket类添加一般的成员函数和成员变量。对这个套接字类,添加一个私有的成员变量,是一个对话框类的指针。private:CTalkcDlg * m_pDlg; 再添加一个成员函数:void SetParent(CTalkcDlg * pDlg);

(4)手工添加其他代码

对于MySocket.h,应在文件开头,添加对于此应用程序对话框类的声明:class CTalkcDlg;

对于MySocket.cpp,有四处添加:

①应在文件开头,添加包含文件说明。这是因为此套接字类用到了对话框类的变量。

#include “TalkcDlg.h”

②在构造函数中,添加对于对话框指针成员变量的初始化代码:

CMySocket::CMySocket() { m_pDlg = NULL; }

③在析构函数中,添加对于对话框指针成员变量的初始化代码:

CMySocket::~CMySocket() { m_pDlg = NULL; }

④为成员函数setParent和事件处理函数OnConnect,OnClose和OnReceive添加代码。

5.为对话框类添加控件对象事件的响应函数

6.为CTalkcDlg对话框类添加其它的成员函数和成员变量

成员变量:CMySocket m_sConnectSocket; //用来与服务器端连接的套接字。

成员函数:void OnClose(); void OnConnect(); void OnReceive();

7.手工添加的代码

在CTalkcDlg对话框类的talkcDlg.h中添加对于MySocket.h的包含命令,来获得对于套接字支持:#include “MySocket.h”

在CTalkcDlg对话框类的talkcDlg.cpp中添加对于控件变量的初始化代码:

// TODO: Add extra initialization here

//用户添加的控件变量的初始化代码

BOOL CTalkcDlg::OnInitDialog()

{m_strServName="localhost"; // 服务器名 = localhost

m_nServPort=1000; // 服务端口 = 1000

UpdateData(FALSE); // 更新用户界面

//设置套接字类的对话框指针成员变量

m_sConnectSocket.SetParent(this);}

8.添加事件函数和成员函数的代码

主要在CTalkcDlg对话框类的talkcDlg.cpp中和CMySocket类的Mysocket.cpp中,添加用户自己的事件函数和成员函数的代码。

9.进行测试。

九、说明点对点交谈的客户机端程序的类与消息驱动关系?

答: 下图说明了点对点交谈的客户端程序的类与消息驱动关系

第六章

1.说明了各种HINTERNET句柄形成的树形体系

答:

2.如何获取WinInet API函数执行的错误信息?

答:从函数的返回值来说,WinInet API主要有两种类型。一种函数的返回值类型是HINTERNET句柄型,一种函数的返回值类型是布尔型。应用程序可以根据函数执行后的返回值来判断函数的执行是否成功。对于前一种函数,当函数执行成功时,会返回一个有效的句柄;当函数失败时,则返回NULL。

对于后一种函数,当函数执行成功时,返回TRUE;当函数失败时,返回FALSE。

在函数调用失败后,用户往往需要了解出错的具体原因,应用程序可以随即调用GetLastError函数来获取更具体的错误信息。

3、说明使用WinInet API编制FTP客户机端应用程序的一般步骤

答:(1)调用InternetAttemptConnect函数测试主机与Internet的连接状态,

(2)调用InternetOpen函数,创建HINTERNET会话根句柄。

(3)创建FTP会话句柄

4、MFC WinInet所包含的类有哪些?

答:1、CInternetSession类,2.连接类,包括CInternetConnection类和它的派生类CFtpConnection 类、CHttpConnection类、和CGopherConnection类;3文件类,首先包括CInternetFile类和由它派生的CHttpFile类和CGopherFile类,另外,由CFileFind类派生的用于文件查找的CFtpFileFind类和CGopherFileFind类也应归入文件类的层次。4.CInternetException类

5、MFC WinInet 各种类之间的关系

答:如下图,其中细线箭头从基类指向继承类,表示了类的派生关系;粗线箭头从函数指向它所创建的类对象

6、使用WinInet类编程的一般步骤是什么?

答:1)创建CInternetSession类对象,创建并初始化Internet会话。

(2)利用CInternetSession类的QueryOption或SetOption成员函数,可以查询或设置该类内含的Internet请求选项,这一步是可选。

(3)创建连接类对象,建立CInternetSession对象与网络服务器的连接,也就是应用程序与网络服务器的连接。

(4)创建文件检索类对象,对服务器进行检索

(5)如果需要使用异步操作模式,可以重载CInternetSession类的OnStatusCallback函数,并启动应用程序使用状态回调机制。重载相关函数,加入自己的代码。

(6)如果还想更紧密地控制对于服务器文件的访问,可以进一步创建文件类对象实例,完成文件查找或文件读写操作。

(7)创建CInternetException类对象实例,处理错误。

(8)关闭各种类,将资源释放给系统。

第七章

1、WinSock的两种I/O模式是什么?各有什么优缺点,缺点如何解决?

答:WinSock的两种I/O模式是:“阻塞”模式(Blocking Mode)或“非阻塞”模式,又称为同步模式或异步模式。

阻塞模式的优点:阻塞套接字的I/O操作工作情况比较确定,无非是调用、等待、返回。大部分情况下,I/O操作都能成功地完成,不过就是花费了等待的时间。因而比较容易使用,容易编程。

缺点:在应付诸如需要建立多个套接字连接来为多个客户服务的时候,或在数据的收发量不均匀的时候,或在输入输出的时间不确定的时候,却显得性能低下,甚至无能为力。

非阻塞模式的优点:能应付诸如需要建立多个套接字连接来为多个客户服务,可以处理数据的收发量不均匀、输入输出的时间不确定等问题。

非阻塞模式的缺点:用非阻塞套接字,需要编写更多的代码,因为必须恰当地把握调用I/O函数的时机,尽量减少无功而返的调用,还必须详加分析每个Winsock调用中收到的WSAEWOULDBLOCK错误,采取相应的对策,这种I/O操作的随机性使得非阻塞套接字显得难于操作。

解决方法:对于非阻塞的套接字工作模式,进一步引入了五种“套接字I/O模型”,有助于应该程序通过一种异步方式,同时对一个或多个套接字上进行的通信加以管理。

对于阻塞的套接字工作模式,则进一步引入了多线程机制。

2、简述Win32操作系统下的多进程多线程机制。

答:Win32操作系统还支持同一进程的多线程。在一个Windows进程内,可以包含多个线程。一个线程(thread)是进程内的一条执行路径,具体地说,是一个应用程序中的一条可执行路径,往往是应用程序中的一个或多个函数。一个进程中至少要有一个线程,习惯将它称为主线程。任何一个应用程序进程都有一个主线程。

3、多线程机制在网络编程中如何应用?

答:如果一个应用程序,有多个任务需要同时进行处理,那就最适合使用多线程机制。对于网络上客户机软件,采用多线程的编程技术,能克服在单线程的编程模式下,由于阻塞等待而产生的客户程序就不能及时响应用户的操作命令的问题。对于网络上服务器软件,采用多线程的编程技术,能更好地为多个客户服务。即便是对于一个客户,采用多线程机制也能大大提高应用程序的运行效率。

4、说明用户接口线程和工作线程的概念和特点。

答:用户接口线程:通常用来处理用户输入产生的消息和事件,并独立地响应正在应用程序其它部分执行的线程们产生的消息和事件。用户接口线程包含一个消息处理的循环,以应对各种事件。

工作线程:适用于处理那些不要求用户输入并且比较消耗时间的其他任务。对用户来说,工作线程运行在后台。这就使得工作线程特别适合去等待一个事件的发生。

5、简述创建MFC的工作线程所必需的步骤。

答:(1)是编程实现控制函数。

(2)是创建并启动工作线程。

(3)创建工作线程的例子。

(4)创建工作线程的一般模式。

6、简述创建并启动用户界面线程所必需的步骤。

答:1.从CWinThread类派生出自己的线程类

2.改造自己的线程类

3.创建并启动用户界面线程

7、如何正常终止线程?如何提前终止线程?

答:正常终止线程:执行完毕时退出控制函数,并返回三个用来表示终止原因的值即可。

提前终止线程:从线程内调用AfxEndThread函数,就可以强迫线程终止。

第八章

1、非阻塞套接字的五种“套接字I/O模型”:

select(选择)、

WSAAsyncSelect(异步选择)、

WSAEventSelect(事件选择)、

Overlapped I/O(重叠式I/O)

以及Completion port(完成端口)。

2、select模型的操作步骤

select(选择)模型是Winsock中最常见的I/O模型。它的中心思想是利用select函数,实现对多个套接字I/O的管理。

用select操作一个或多个套接字句柄,一般采用下述步骤:

(1)使用FD_ZERO宏,初始化自己感兴趣的每一个fd_set集合。

(2)使用FD_SET宏,将要检查的套接字句柄添加到自己感兴趣的每个fd_set集合中,相当在指定的fd_set集合中,设置好要检查的I/O活动。

(3)调用select函数,然后等待。select完成返回后,会修改每个fd_set结构,删除那些不存在待决I/O操作的套接字句柄,在各个fd_set集合中返回符合条件的套接字。

(4)根据select的返回值,使用FD_ISSET宏,对每个fd_set集合进行检查,判断一个特定的套接字是否仍在集合中,便可判断出哪些套接字存在着尚未完成(待决)的I/O操作。

(5)知道了每个集合中“待决”的I/O操作之后,对相应的套接字的I/O进行处理,然后返回步骤1,继续进行select处理。

3、WSAAsyncSelect异步I/O模型的编程步骤

⑴用CreateWindow函数创建一个窗口,并为该窗口提供一个窗口回调例程。

⑵调用WSAAsyncSelect函数创建套接字,指定关注的套接字、窗口句柄、打算接收的消息,以及程序感兴趣的套接字事件。成功执行WSAAsyncSelec函数,就打开了窗口的消息通知,并注册了事件。

⑶WSAAsyncSelec函数执行时,当注册的套接字事件之一发生时,指定的窗口会收到指定的消息,并自动执行该窗口的回调例程,可在其中添加自己的代码,处理相应的事件。

4、WSAEventSelect事件选择模型的编程步骤

⑴创建事件对象句柄

事件选择模型要求应用程序针对每一个套接字,首先创建一个事件对象。创建方法是调用WSACreateEvent函数,定义如下:

WSAEVENT WSACreateEvent(void);

⑵关联套接字和事件对象,注册关心的网络事件

将事件对象句柄与某个套接字关联在一起,同时注册感兴趣的网络事件类型。调用WSAEventSelect函数,函数的定义为:

int WSAEventSelect(

SOCKET s,

WSAEVENT hEventObject,

long lNetworkEvents

);

⑶等待网络事件触发事件对象句柄的工作状态

调用WSAWaitForMultipleEvents函数,等待网络事件触发事件对象句柄的工作状态。该函数的定义:DWORD WSAWaitForMultipleEvents(

DWORD cEvents,

const WSAEVENT FAR * lphEvents,

BOOL fWaitAll,

DWORD dwTimeout,

BOOL fAlertable

);

⑷检查套接字上所发生的网络事件类型

调用WSAEnumNetworkEvents函数,检查套接字上发生了什么类型的网络事件。该函数定义如下:

int WSAEnumNetworkEvents(

SOCKET s,

WSAEVENT hEventObject,

LPWSANETWORKEVENTS lpNetworkEvents

);

⑸处理网络事件

在确定了套接字上发生的网络事件类型后,可以根据不同的情况做出相应的处理。完成了对WSANETWORKEVENTS结构中的事件的处理之后,应用程序应在所有可用的套接字上,继续等待更多的网络事件。

应用程序完成了对一个事件对象的处理后,便应调用WSACloseEvent函数,释放由事件句柄使用的系统资源。函数的定义如下:

BOOL WSACloseEvent(WSAEVENT hEvent);

该函数也将一个事件句柄作为自己唯一的参数,并会在成功后返回TRUE,失败后返回FALSE。

第九章

1、什么是HTTP会话?HTTP会话周期由哪些阶段组成?

HTTP是超文本传输协议(Hypertext Transfer Protocol)的简称,HTTP协议也是基于TCP/IP的客户/服务器协议。主要是用于传输文件的协议。

HTTP会话周期由连接、请求、响应和断开4个阶段组成。

⑴建立TCP/IP连接

⑵Web客户机向服务器发送HTTP请求

⑶服务器向客户机回送HTTP响应

⑷断开TCP/IP连接

2、CHtmlView类的继承关系

3、利用MFC AppWizard创建SDI或MDI的步骤

(1)第一步:选择应用程序结构

①为应用程序选择三种结构之一,单文档(Single Document SDI),多文档(Multiple Document MDI),基于对话框(Dialog Based)。Web浏览器型的应用程序一般选择SDI类型,以下的操作都假定选择了SDI类型。

②决定应用程序是否要支持MFC的文档/视图结构(document/view architecture),实际上必须选择支持,因为不支持文档/视图结构的应用程序不能打开磁盘文件和从CWnd类继承的窗口区,并且后面的步骤都是无效的。

③选择资源中的文本所使用的语言,应选择“中文[中国]”

作完这三件事以后,点击Next按钮

(2)第二步:选择应用程序支持的数据库

①为程序选择一种数据库支持,有四个选项。没有(None), 头文件支持(Header file support), 带有文件支持的数据库视图(Database View with file support)或没有文件支持的数据库视图( Database View without file support)。

②如果选择了数据库支持,点击数据源(Data Source),在外部ODBC数据库、DAO数据库和OLE DB数据库中选择一个,然后选择相应的数据源和数据库表选项。

③点击Next按钮,出现第三步对话框

(3)第三步:选择应用程序支持的复合文档

①选择应用程序支持的复合文档(compound document)类型。有五个选项:

None:不支持复合文档

Container:容器,一个OLE 2.0风格的文档容器。

Mini-server:最小服务器,一个OLE服务器,但不能作为一个独立的程序来运行。

Full-server:完全服务器,一个OLE服务器,可以作为独立程序运行。

Both container and server:容器和服务器两者。

②也可以选择选项来启用标准的ActiveX资源,增加额外的自动命令到应用程序的菜单条中。

③点击Next按钮,出现第四步对话框,

(4)第四步:选择应用程序的接口特性

①为程序选择基本的用户接口特性。如快捷的工具条、初始状态栏、打印和打印预览、内容敏感的帮助、3D控件、Windows套接字等,都是复选框。

②要使用的工具条形式,IE4.0 ReBars或者MFC常规的工具条。

③最近打开的文件列表数目,默认值是4。

④如果你想要修改你的程序的名字和扩展名,或者为你的程序调整用户接口窗口框架风格,点击Advanced。

⑤点击Next,出现第五步对话框。如图9.9所示。

(5)第5步:决定三个问题

①选择工程风格:

Windows Explorer:左边是一个树形视图,右边是一个列表视图。

MFC Standard:为文件视图提供一个区域。

②选择是否希望应用程序向导在源文件中产生注释,以便指导你编写程序。

③选择使用MFC库的选项

As a shared DLL:库作为共享的DLL

As a statically linked library:库作为静态链节的DLL

注意,静态链接到MFC的库仅仅在VC++的专业版和企业版中支持(Professional and Enterprise Editions)。

④点击Next,出现MFC AppWizard – Step 6 of 6对话框。如图9.10。

(6)第6步:决定类名和基类

①如果你想要改变默认的由应用程序向导提供的类名,基类,头文件,或者实现文件的名字,输入新的名字,要改变基类,选择你的程序的视图类。

②点击Finish按钮,出现New Project Information对话框。如图9.11。说明了应用程序的类型,创建的类、应用程序的特性和工程的目录。

③点击OK按钮,工程创建成功,进入VC++集成的开发环境。

4.创建一个Web浏览器型的应用程序的一般步骤

⑴利用MFC AppWizard生成应用程序框架

生成的工程框架包含四个类:

应用程序类,CMyWebApp,对应myWeb.h和myWeb.cpp文件。

框架类,CMainFrame,对应MainFrm.h和MainFrm.cpp文件。

文档类,CMyWebDoc,对应myWebDoc.h和myWebDoc.cpp文件。

HtmlView类,CMyWebView,对应myWebView.h和myWebView.cpp文件

⑵修改菜单

修改菜单,添加用户需要的功能条目。在工作区中选择ResourceView卡,选择Menu,双击菜单控件的名字(IDR_MAINFRAME)。

⑶修改工具栏

在工具栏上增加新的按钮,以便快速执行所需的功能。在工作区中选择ResourceView卡,选择ToolBar,双击工具条控件的名字(IDR_MAINFRAME),

⑷为控件添加事件处理函数

当用户点击菜单条目,或者点击相应的快捷按钮时,应能引起程序的反映,这就需要给这些控件添加事件处理函数。进入类向导,选择“Message Maps”卡。在“Class Name”下拉框中选择CMyWebView

类,

⑸添加事件处理函数的代码

⑹为应用程序添加URL定位功能

⑺解决点击超链接时地址栏的同步问题

第十章

1、简述电子邮件系统的构成。

答:一个电子邮件系统包括三个主要的构件,即用户代理,邮件消息传输代理,和电子邮件使用的协议。

2、说明电子邮件的发送和接收的过程。

答:

(1)甲运行Foxmail软件,进入它的窗口用户界面,利用其中发信代理的相关功能,编辑要发送的邮件内容。然后,填好收信人的电子邮箱地址、邮件主题等信息,单击“发送”按钮。

(2)Foxmail软件中的SMTP客户机进程向网易网站的SMTP服务器发出连接请求,经过三次握手的过程建立了TCP连接。然后进入SMTP客户机与SMTP服务器的会话过程,通过网络,smtp客户机发出请求命令,SMTP服务器以响应作答。

(3)一旦收到了邮件,就立即按照该邮件收件收信人的电子邮箱地址,向网站的SMTP服务器进程发起建立TCP连接的请求。经过SMTP客户机与服务器的会话过程,将邮件从发送站点传到接收站点,接收站点的服务器将邮件存放到乙的电子邮箱中,等待乙来读取。

(4)当乙读取邮件时,Foxmail软件中的POP3客户机进程立即向接收站点的POP3服务器进程发出请求,建立TCP连接,然后,按照POP3,进入POP3会话过程,将邮件或邮件的副本从位于接收的电子邮箱取出,发送到乙的pc.

(5)乙方Foxmail中的收信代理向用户显示邮件,乙可以利用它的相关功能对此邮件做进一步处理。

3、电子邮件系统有什么特点?

答:①是一种异步的通信系统,不像电话,通话的双方都必须在场。

②使用方便,传输迅速,费用低廉,不仅能传输文字信息,还能附上声音和图像。

③在电子邮件系统的实现中,ISP的服务器必须7X24小时地不间断地运行,这样才能保证用户可以随时发送和接收信件,而发送或接收电子邮件的用户则随意。

4、简述SMTP客户机与SMTP服务器之间的会话过程,以及SMTP会话具有的特点。

答:如下图:说明了SMTP客户与SMTP服务器之间的会话过程

SMTP会话具有以下特点:

(1)会话的过程采用交互式的请求应答模式,客户发送命令,服务器回送应答。

(2)客户发送的命令和服务器回送的应答都是纯文本形式,有一定格式。

(3)针对客户的每个命令,服务器总要返回一定的响应码,表示服务器是否接受或执行了客户端命令。(4)会话过程有一定的顺序

5、使用WinSock来实现电子邮件客户机程序与服务器的会话的步骤是什么?

答:(1)启动SMTP服务器,在指定的传输层端口监听客户端的连接请求,为SMTP服务器保留的端口是25。

(2)客户端设置Winsock连接的IP地址或域名,指定端口号,主动发出连接请求,连接到SMTP服务器。比如,网易的SMTP服务器的域名是https://www.doczj.com/doc/d17872143.html,,监听端口是25。

(3)服务器接收客户端的连接请求,并发回响应。客户端应收到类似220 BigFox ESMTP service ready 这样的信息, 这就说明客户端已经与服务器建立TCP/IP连接,成功地实现了第一步。

(4)客户端和服务器分别向对方发送数据。

(5)客户端或服务器分别读取自己缓冲区中的数据。

(6)以上两步是SMTP会话的主要部分,要按照SMTP协议的规定,按照一定顺序,客户向服务器发送命令,服务器向客户发送应答,以上两步要多次重复。

(7)会话完毕,关闭客户端和服务器之间的连接。

6、说明电子邮件信件结构。

答:从组织上看,RFC822将电子邮件信件内容结构分为信头和信体两大部分,中间用一个空白行(只有CRLF符的行)来分隔。第一部分称为信件的头部,包括有关发送方、接收方和发送日期等信息。第二部分称为信件的体部,包括信件内容的正文文本。信头是必须的,信体是可选的,即信体可有可无。

7、建议的使用在信头中的字段顺序是什么?

答:一般来说,信头中的字段不要求任何特定的顺序,但Received、Return-Path和Resent-*字段例外。Received字段是在信件传送过程中,由经过的一系列的MTA投递前增加的,必定放在信件的开始。Return-Path字段只是在最后一个MTA投递前增加的,也放在信件的开始。因为这两类字段是为诊断问题提供跟踪信息的,所以它们的位置必须保持不变。另外,给信件增加的任何重发字段,即以Resent-前缀开头的字段也必须放在信件的开始。

8、说明MIME的基本思想。

答:MIME的基本思想是:第一,不改动SMTP和POP3等电子邮件传输协议;第二,仍然要继续使用RFC822的格式来传输邮件。

9、说明Base64编码算法。

答:在进行Base64的编码时,首先要将被编码的数据看成一个字节序列,不分行。然后按照以下三个步骤反复进行编码。

第一步:顺次从要编码的字节序列数据中,取出3个字节,作为一组,该组包含24bit。

第二步:将一组的24个bit,再顺次分为四个6bit的小组。并在每小组的前面补两个零,形成四个字节。显然这4个字节的值都在0-63范围内。

第三步:根据小组的每个字节的数值,按照表10.4的对应关系,将它们分别转换为对应的可打印ASCII 字符。

顺次对要编码的数据字节序列,重复进行以上处理,直到所有的数据编码完成为止。

10、说明Quoted-printable编码算法。

答:这种编码称为可打印的引用编码(Quoted-printable encoding),被编码的数据以8BIT的字节为单位,这种编码方法的要点就是对于所有可打印的ASCII码,除了特殊符号“=”以外,都不改变。编码算法的要点是:

(1)如果被编码数据字节的值在33到60之间(字符!至字符<),或在62到126之间(字符>至字符~),这部分字符是可打印的,则该数据字节编码为7bit的对应ASCII字符,实际就是将最高位去掉。

(2)其他的数据,包括“=”字符,空格,ASCII码在0-32的不可打印字符,以及非ASCII码的数据,都必须进行编码。被编码的数据以8bit的字节为单位,先将每个字节的二进制代码用两个16进制数字表示,然后在前面加上一个等号“=”,就是该字节的编码。

(3)如果要将编码后的数据分割成76字符的行,可以在分割处插入等号“=”和CRLF。此等号也要计算在76个字符中。

11、简述POP3会话的3个状态。

答:POP3会话一共有3个状态:验证状态,事务状态和更新状态。每个状态都是会话过程中的特定阶段。当连接服务器后,POP3会话首先进入验证状态,在这个阶段里,可以使用USER Pass Quit这三个POP3

命令,客户段送交用户名和口令,服务器验证是否合法。

通过服务器验证后,服务器锁定该用户的信箱,从而防止多个POP客户端同时对此邮箱进行邮件操作,比如删除,取信等。但是可以让新的邮件加入。这时会话过程转变为事务状态,在事务状态客户端可用的POP3命令有:Noop Stat Quit List Retr Top Dele Rset Uidl。使用这些命令进行各种邮件操作,POP对话的大部分时间都处在事务状态中。

当客户发出Quit命令后,结束事务状态,POP会话过程进入更新状态。在事务状态进行的一些操作,最终在更新状态中才得以体现。比如在事务状态使用Dele命令删除邮件,实际服务器并没有将邮件删除,只是做了一个删除标志;到了会话过程的更新状态,邮件才被删除。更新状态只是会话中的一个过程,该状态没有可使用的命令,目的是用户在事务状态后用以确认已经进行的操作。在进入该状态后,紧接着就完成了POP3的会话过程,断开了与服务器的连接。要注意,由于异常原因导致的与服务器终止对话并没有进入更新状态。在事务状态删除的邮件没有被删除,下次进入信箱时邮件还是存在的。

12、接收电子邮件编程的一般步骤是什么。

答:首先利用Winsock连接上POP3服务器,然后:

1.使用USER命令发送用户信箱名。

2.使用PASS命令发送信箱密码。如果密码和信箱不匹配,必须从上一步骤重新开始。

3.对信箱邮件进行操作。

此阶段称为事务状态,在这一个阶段,有许多POP3命令可以使用,大体分为下面几类:

(1)取得信箱及邮件状态的命令

Stat:取得信箱大小信息

List:取得邮件大小信息

Uidl:取得邮件的唯一标识符。

(2)取得邮件内容的命令

Retr:从服务器取回邮件

TOP:取邮件信头和信体的前N行。

(3)对邮件进行操作的命令

Dele:为邮件做删除标记。

Rset:复位POP会话。

4.接收邮件完毕,发送QUIT命令,结束POP3对话。

《电子商务》试题B答案

《电子商务实用教程》期末考试B卷答案 二、多项选择 三、判断 1、电子商务的基本组成要素有Internet、Intranet、Extranet、用户、物流配送、认证中心、银行、商 家等。(√) 2、在网上查询商品价格是贸易磋商阶段。(×) 3、所谓电子支付,指的是电子交易的当事人,包括消费者,厂商和金融机构,使用安全电子支付手段通 过网络进行的货币支付或资金流转。(√) 4、支付方式的统一是电子支付中最关键、最重要的问题。(×) 5、电子数据交换(EDI)技术常用于顾客与零售商之间的交易单据传输。(×) 6、物流是实现“以顾客为中心”理念的根本保证。(√) 7、QR(快速反应)的重点是对消费者需要做出快速反应。(√) 8、移动商务的技术架构可以分成三个层次,包括网络基础层、中间件层和移动应用层。(√) 9、电子支付的方式只有两种,即:电子货币类和电子支票类。(×) 10、主页是用户使用WWW浏览器访问Internet上WWW服务器所看到的第一个页面。(√) 四、名词解释 1、认证中心(CA) 就是承担网上安全电子交易认证服务、签发数字证书并能确认用户身份的服务机构。认证中心通常是 企业性的服务机构,主任要任务是受理数字证书的申请、签发以及管理证书。 2、物流 流通加工、配送、信息处理等基本要素实施有机结合。 3、信息加密技术 信息加密技术,就是采用数学方法对原始信息(通常称为“明文”)进行再组织,使得加密后在网络上 公开传输的内容对于非法接收者来说成为无意义的文字(加密后的信息通常称为“密文”)。 4、数字签名 数字签名是指用符号及代码组成电子密码进行“签名”来代替书写签名或印章,它采用规范化的程序 和科学化的方法,用于鉴定签名人的身份以及对一项数据电文内容信息的认可。 5、配送 配送是指在经济合理区域内,根据用户的要求,对物品进行拣选、加工、包装、分割、组配等作业, 并按时送达指定地点的物流活动。

电子商务实用教程期末试题与答案B卷

姓名学号专业班级座位号 秘密★启用前 学院 学年第二学期期末考试 专业()科目:电子商务实用教程(B卷) 考试时间:90分钟满分:100分 说明: 1.监考老师指导考生用黑色签字笔将卷首各项信息填写完整。 2.所有试题必须在答题卡上作答,在本试卷上作答无效 .........。 3.考试结束后将本试卷交回。 第Ⅰ卷 一、单项选择题(每题2分,共30分)(在此卷上答题无效 ........) (1) 大批量定制使得企业可以:() A.了解大众需求的具体特性,便于创造出成功的产品 B.为公众(“消费者”)定制产品。 C.大批量生产个性化产品。 D.大批量生产完全一样的产品。 (2) 下面哪一项不是采购重构的目标?() A.使采购流程化 B.增加独立采购 D.提高采购代理生产力 D.提高采购代理生产力 (3) ____是搜索引擎关键词广告模式最大的特点之一,对于用户浏览而没有点击的信息,将不必为此支付费用。() A.按点击数量付费 B.关键词广告形式简单 C.广告预算可以自行控制 D.关键词广告投放效率高 (4) 下面哪一项不是风险管理的四阶段之一?() A.计划 B.开发 C.评估 D.执行 (5) 下列选项中不属于用户通过邮件列表获取信息特点的是() 电子商务使用教程试题B卷第1页(共6页)

A.离线状态下阅读并长期保存邮件内容 B.邮件内容可以在用户电子邮箱中长期保存 C.接收信息的送达率高,几乎没有什么信息传递和接收的障碍 D.可以跟踪检测邮件发送数量、用户阅读率和回应率等指标 (6) 第三方交易所在哪一种市场中最不易成功?() A.卖方集中的市场 B.买方集中的市场 C.均衡市场 D.离散市场 (7) 下面哪一项是移动商务的主要特征?() A.可达到性 B.便捷 C.本土化 D.普遍存在性 (8) 下列对网络广告本质特征说法错误的是() A.网络广告不需要依附于有价值的信息和服务载体 B.网络广告的核心思想在于引起用户的关注和点击 C.网络广告具有强制性和用户主导性的双重属性 D.网络广告应体现出用户、广告客户和网络媒体三者之间的互动关系 (9) 下面哪一个因素不会影响需求预测?() A.气候 B.生产安排 C.竞争 D.经济 (10) 下面哪一项不是P2P系统的例子?() A.支持跨网络协议的系统 B.用户界面基于网络浏览器 C.和其他用户相连的系统 D.计算机既做客户又做服务器 (11) 网站访问统计指标大致可以分为三类,下列选项不属于此种指标的是() A.网站流量指标 B.用户行为指标 C.用户浏览网站的方式 D.注册用户的数量 (12) 下列哪种搜索引擎营销方式是最传统的网站推广手段() A.免费登录分类目录 B.付费关键词广告 C.搜索引擎优化 D.关键词竞价排名 (13) 改变地址信息,即使用户进入了正确的地址,他们也是直接被领到错误的网站,。这种攻击是什么类型?() A.Ping of death B.服务拒绝 C.DNS欺诈 D.蠕虫 (14) 假设一家网站将某位用户的个人信息向多家企业共享,造成该用户每天收到大量短信广告,这反映了无线网络营销中的哪种问题?() 电子商务使用教程试题B卷第2页(共6页)

电子商务练习题 附答案

电子商务实用教程习题1 一.单选 1. Dell经营模式的核心就是()。 A 买卖公平 B 实时生产 C 大规模按单定制 D 与客户进行直接沟通 2. 目前,人们所提及的电子商务多指在()上开展的商务活动。 A 手机 B 网络 C 计算机 D POS机 3. 电子商务是在()技术与网络通信技术的互动发展中产生和不断完善的。 A 电子 B 微波 C 多媒体 D 计算机 4. 传统商务运作过程可分为以下三个部分:信息流、物流和()。 A 数据流 B 资金流 C 知识流 D 企业流 5. 电子商务的流通渠道是()。 A 企业-批发商-零售商-消费者 B 企业-消费者 C 企业-中介商-消费者 D 企业-零售商-消费者 6. 电子商务的主要成分是()。 A 电子 B 商务 C 交易 D 网络 7. 电子商务的前提是()。 A 商务信息化 B 商务国际化 C 交易国际化 D 交易网络化 8. 交易虚拟化指的是贸易活动无需当面进行,均通过()完成。 A 媒体 B 互联网 C 计算机 D 电子工具 9.传统商务中的常用的支付一般有()和现金两种方式,小额支付用现金。 A 支票 B 电子支票 C 电子汇款 D 银行卡 10.传统商务的运作过程由()、贸易磋商过程、合同签订与执行、支付过程等环节组成。 A 交易中的准备 B 交易前的准备 C 交易后的服务 D 寻找客户 二.多选 1.电子商务支付的手段主要是采用()、()、()和电子钱包等形式以网上支付的方式进行。 A 信用卡 B电子支票 C 电子本票 D电子现金 2.从企业经营的微观角度看电子商务是通过Internet支持企业的交易活动,即()或()的买卖。 A产品 B 技术 C 信息 D服务 3.从企业经营的宏观角度看电子商务是基于 Internet,支持企业经营的()、()()、()和财务等全部活动的自动化。

电子商务实用教程习题答案

电子商务实用教程习题答案 一、填空题 1、电子商务的运作过程:交易前的准备、贸易的磋商、合同的签订与执行、资金的支付。 2、电子商务与传统商务活动方式相比之下具有的特点:交易虚拟化、交易成本低、交易效率高、交易透明化。 3、根据使用网络类型的不同,电子商务目前主要的形式有:EDI商务、In ternet 商务、Intranet 商务。 4、In ternet商务经营模式主要有:新兴企业虚拟柜台模式、传统企业虚实结合模式、新型企业无型商品模式。 5、目前B2C电子商务方式中主要的支付方式有:送货上门付款、汇款方式、电子支付。 6 —般可以将网上购物类型分为:专门计划性购物、一般计划性购物、提醒购 物、完全无计划购物。 7、网络商务信息收集的要求是:及时、准确、适度、经济。 8、从网络商务信息本身所具有的总价格水平可以将网络商务信息分为四个等级:免费商务信息、收取低费用的信息、收取标准信息费的信息、优质优价的信息。 9、一般而言,EDI中心的组成部分:公用EDI服务手段、通信接口、公共业务服务、EDI最终用户服务。 10、In ternet 与EDI 结合的方式:In ternet Mail 、Sta ndard IC、We—EDI、XML/ED。 11、电子商务对于企业降低成本是行之有效的途径具体表现在:降低采购成本、降低库存成本、降低营销成本、降低管理费用。 12、哈佛大学商学院波特教授提出企业竞争中面对的五中影响力量:新的进入者威胁、供应商要加能力、现有竞争者之间的对抗、消费者还价能力、替代产品或服务威胁。 13、基于目录服务的网络采购系统实现的方式:客户定制目录;建立与供应商站 点链接;协同0BI;内容集成;应急计划;主动搜索;多方协作。 二、名词解释 1、电子商务:是指实现整个贸易活动的电子化(定义方法不同答案各异) 2、B2C企业与消费者之间的电子商务 3、电子货币:是指用一定金额的现金或存款从发行者处兑换并获得代表相同金 额的数据,通过使用某些电子化方法将该数据直接转移给支付对象,从而能够清

2016年《电子商务》(2016年必修课程一)试卷

2016年《电子商务》(2016年必修课程一)试卷 2016年《电子商务》(2016年必修课程一)试卷 题型单选题多选题判断题案例分析题合计 题数202020565 分值20402020100 得分1318171462 一、单选题(每题1分,共20题) 1、EDI网络传输的数据是( ) A、自由文件 B、平面文件 C、用户端格式 D、DI标准报文 答案:D 2、下列()病毒属于木马病毒。 A、磁碟机 B、熊猫烧香 C、网银大盗 D、红蘑菇 答案:D 参考答案:C 3、《贸易法委员会电子商务示范法》主要有多少条() A、十二条 B、十七条 C、二十一条 D、十八条 答案:C 参考答案:B 4、在电子商务环境下,企业机构重组的主要目的是() A、降低成本 B、打破产销分离的障碍 C、调查企业内部结构的扁平化 D、解决销售网点和配送网络的问题 答案:B 5、是否具有强有力的网络促销方式的开发能力,这种促销方式对顾客极具说服力的是( A、信息搜集功能

B、网络促销功能 C、网络订货功能 D、网络融资功能 答案:B 6、网上商店日常运营管理不包括() A、订单管理 B、销售统计 C、客户查询和商家信用值 D、商品预览 答案:D 7、网络营销可以充分发挥计算机及多媒体技术的优势,实现丰富多彩的营销形式提现了网络营 A、营销形式丰富多彩 B、高技术条件支撑的营销手段 C、营销目标定位准确 D、营销策略的层次化 答案:B 参考答案:A 8、具有较强银行接口技术的第三方支付公司以中介形式分别连接商家和银行,从而完成商家的指的是() A、自建支付平台模式 B、第三方垫付模式 C、支付网关型模式 D、个人支付转账 答案:C 9、互联网时代电子商务的SSL协议不提供哪些服务() A、认证用户和服务器,确保数据发送到正确客户机和服务器 B、加密数据以防止数据中途被窃取 C、维护数据的完整性,确保数据在传输过程中不被改变 D、对被窃取的传输数据进行修复和还原 答案:C 参考答案:D 10、数字签名使用公开密钥体系,并采用( )进行加密。 A、发送方私有密钥 B、发送方公有密钥 C、接收方私有密钥 D、接收方共有密钥 答案:C 11、下面不是网络消费的心理动机()

电子商务物流教材配套习题

项目一电子商务与物流的关系 一、判断(正确的打√, 错的打×) 1、物流为网上交易的最后一个环节,其执行结果的好坏将对电子交易的成败起着十分 重要的作用() 2、电子商务的任何一笔交易都由信息流、商流、资金流、物流等四个基本部分组成。 () 3、电子商务的流程体现不了物流的重要性。() 4、物流概念最初出现在日本,而后传入美国,再由美国传入中国。() 5、节省物质成本是“第三利润源泉”。() 6、亚马逊的物流属于典型的第三方物流模式。() 7、现代的观念中,仓库被看做是一种存储设施,仅仅担负着存储产品的功能,它增 加了整个物品的配送成本,并产生了额外的仓库作业成本。() 二、不定项选择(把正确的序号写在括号内) 1、电子商务的任何一笔交易都由()组成. A商流、资金流、物流B信息流、商流、物流 C信息流、商流、资金流D信息流、商流、资金流、物流 2、对于中小企业来讲,()是开展电子商务的最佳选择。 A、自建企业网站 B、购进专业的my alibaba 或ERP 系统 C、使用第三方平台 D、单纯邮件营销 3、生产企业出售商品时,物品在供方与需方之间的实体流动称为()。 A、采购物流 B、企业内物流 C、销售物流 D、退货物流 4、根据客户要求,对物品进行拣选、加工、包装、分割、组配等作业,并按时送达 指定地点,是()。 A、送货活动 B、销售活动 C、运输活动 D、配送活动 5、一维条码是由规则排列的()组成的。

A、条 B、空 C、字符 D 、点 6、下列关于物流的说法正确的是()。 A、适当安排物流据点,提高配送效率,保持适当库存 B、在运输、保管、搬运、包装、流通加工方面,实现省力化、合理化 C、尽可能使从接受商品的订货到发货、配送等过程的信息畅通 D、尽可能使物流的成本最小 三、简述电子商务与物流的关系? 项目二电子商务环境下的物流运作系统 一、填空题 1、系统由( )、( )、( )三要素组成。 2、物流系统的基本功能包括()、()、()、()、()和();物流系统的增值服务包括_()、()、()、()。 3、物流系统分析的基本原则有()、()、()、()。 4、系统分析的目的在于通过分析比较各种替代方案的有关技术(),得出决 策者形成正确判断所必须需的(),以便获得最优的()。 5、物流系统的第二大系统特征要素,正确的物流定义应该为:在正确的确()内,以正确的(),将正确()和正确()的货物,送往()。 二、判断(正确的打√, 错的打×) 1、分析和改善系统的关键是找到可以判断目标性能好坏的标准。() 2、对于一个系统来说,为了完成同一目标可以有几种不同方案。() 3、用系统观点来研究物流活动是现代物流科学的核心问题。() 4、物流系统分析的目的分析构成物流系统的子系统的功能和相互关系。() 三、单项选择题(把正确的序号写在括号里) 1、要素信息、管理信息、运作信息和外部信息构成()

《电子商务培训教程》模拟试题一及答案

《电子商务培训教程》课后模拟试题一及答案 一.判断题 1.若一台微机的cpu有20根地址线,则其寻址能力可达2MB。(F) 2.UNIX是一种多用户单任务的操作系统。(F)多用户、多任务 3.目前中文的电子商务在英文中有两层含义:Electronic Commerce(简称EC)和Electronic Business(简称EB)。目前普遍认为这两者是狭义和广义的关系,前者是指广义的电子商务,后者则指狭义的电子商务。(F) electronic commerce是电子贸易,而electronic business是电子商务/电子商业。它们两一般是通用的。Electronic Business涵盖性较广阔,包括涉及商业的其他功能。另外一种说法是electronic business是电子业本身。 4.信息是客观世界中各种事物的变化和特征的反应,是客观和主观事物之间相互联系的表现,它包括各种信息、情报、信号、资料等,也包括各类科学技术知识。(F) 信息是对某个事件或者事物的一般属性的描述。信息总是通过数据形式来表示,加载在数据之上并对数据的具体含义进行解释。因此,也可以说,信息就是经过加工处理后有价值的数据 5.Windows NT是Windows 家族中第一个完备的32位网络操作系统,它主要面向微型计算机、工作站和多处理器服务器,是一个多用户操作系统。(T) 6.第一次保存网页时如果网页中有非GIF和JPEG格式的图像,FrontPage 编辑器能自动转化其格式。(T) 7.FrontPage 编辑器将一般图像转化为GIF和JPEG格式时,如果图像的颜色不超过256色,则转化为JPEG格式,否则转化为GIF格式。(F) 8.网页中的图像和网页保存在同一个文件中。(F) 9.病毒按传播机理可分为两大类:一类是系统引导型,另一类是文件型。(T ) 10.计算机病毒只能传播给可执行文件。(F ) 二.单项选择题 11.计算机系统是一个整体的概念,由两方面组成,它们是( A ) A.硬件系统与软件系统

电子商务实用教程习题(1)

电子商务实用教程 一、单选: 1. 电子商务与传统商务的最大区别在于___b____。 A 一手交钱一手交货的方式。 B 利用网络进行商务活动。 C 可以进行网络营销。 D 在线支付并可查询商品。 2. 电子商务的分类可以根据__A_____等进行。 A 按参与交易的对象、按商务活动的类型、按电子商务使用的网络类型。 B 按消费者的对象、按交易涉及的商品内容、按消费者所处的职业。 C 按商家的规模、按电子商务使用的网络类型、按商家的商品内容。 D 按网络的类型、按电子商务的受众群体、按网络银行的类型。 3.电子商务源于英文 ___B____,简称EC A Easy Commerce B Electronic Commerce C Electronic Computer D Electronic Communication 4. 电子商务提供企业虚拟的全球性贸易环境,大大提高了商务活动的水平和服务质量。新型的商务通信通道其优越性是__D_____。 A 提高通信速度、节省开支、增加客户与商家的联系。 B 促进知识经济的发展、提高服务质量、提供了交互式的销售渠道。 C 提供全天候的服务、增强了企业的竞争力和全社会的增值。 D 以上三种说法都正确。 5. 现代的电子商务活动特点是在网络上进行商务活动,并在其中强化了信息这一重要的因素,因此就产生了____B___。 A 信用卡、电子支票、在线服务等。 B 信息商品、信息服务、电子货币等。 C 诚信服务、网络营销、售后服务等。 D 消费指南、在线向导、搜索引擎等。 6. 电子商务的分类有许多种,但不管电子商务被冠以何种美名,从其实质内容来看,它应分为____D___。 A C2C、B2B、G2G。 B B2C、G2F、F2G。 C B2G、C2C、B2B。 D B2B、B2C、B2G。 7. 电子商务的主要参与者是___C____。 A 企业、商家、银行、ISP 。 B 消费者、企业、商家、银行。 C 企业、消费者、银行、政府认证中心。 D 消费者、IT业、网络公司、商家。 8. 目前,电子商务总交易量中80%是由___C____实现的。 A 企业与消费者交易。 B 消费者与消费者交易。 C 企业与企业交易。 D 企业与政府交易。 9. 直接电子商务指的是(C)。 A 软件订购 B 计算机配件订购 C 无形货物和服务 D 有形货物的电子订货 10. 间接电子商务指的是(D)。 A 软件订购 B 计算机配件订购 C 无形货物和服务 D 有形货物的电子订货 二、多选:(注意填写的顺序) 1.电子商务的发展经历了以下两个阶段。从20世纪60年代到90年代的基于( C )的电子商务,当时美国也只有5%的企业才使用这种电子商务;从20世纪90年代后企业广泛使用的基于(A )电子商务。 A.Internet B. Web C. EDI D. HTTP 2.下列选项中,属于电子商务基本功能有(bd )。

最新电子商务技术基础复习题(有答案)

《电子商务技术基础》 一、填空题 1.WEB所有活动的基础是基本的客户/服务器结构,信息存储在__WEB服务器_____上。 2.电子商务系统中,从信息的组织和表达来看,网页成为信息在网络中最有效的表达方式,__网站_成为最常见的信息组织和表达渠道。 3.网页浏览需输入标准网址,其格式一般为:_ 域名__+目录名+文件名。 4.__ SGML ____是最早的标记语言,而且是一种丰富的元语言,几乎可以用来定义无数种标记语言。 5.HTML文件实际上是由HTML语言组成的一种__纯文本___文件。 6.XML文档数据采用___树形___结构表示。 7.__ Java Applet____是Java语言编写的包含在网页里的“小应用程序”。 8.支持ActiveX的唯一的浏览器是__IE ___。 9.CGI程序的输出主要可分为两部分:_输出类型说明_和HTML正文_。 10.__JVM__ 是Java平台的基础,它发挥抽象计算机的作用。 11.模式是对数据库结构的一种描述,不是数据库本身。存储模式__是数据库物理结构和存储方式的描述,是数据库内部的表示方法。 12.传统数据库管理技术的特征在于对_结构化数据_的有效管理和使用。 13.数据加密前的源信息称之为___明文____,加密后变成了_密文___。 二、简答题 1、传统客户/服务器结构在电子商务系统中存在哪些问题?与之相比,三层客户/服务器结构的核心思想是什么?它具有哪些优势? 答:传统客户/服务器结构存在的问题有: 1)维护困难 2)费用增加 3)培训困难 三层客户/服务器体系结构被分解成表达层、应用(逻辑)处理层和数据层。表达层(Presentation Layer)以Web服务器为基础,负责信息的 发布;应用层(Application Layer)负责处理核心业务逻辑;数据层(Date Layer)的基础是数据库管理系统DBMS,负责数据的组织,并向应用层 提供接口。其特点在于所有用户可以共享商业和应用逻辑,应用服务器 是整个系统的核心,为处理系统的具体应用提供事务处理,安全控制, 由此形成以应用服务器为中心的辐射状的系统结构。 它的优势是: 1)可伸缩性:由于系统的业务逻辑处理完全在应用服务层完成,因此所有客户端不直接与数据库链接,应用服务层通过一个数据库 连接池与数据库连接,系统可以根据客户端请求的多少来动态调 整池中的连接,使系统消耗较少的资源来完成客户端的请求。 2)可管理性:系统的客户层基本实现了“零管理”,局域网内的主要管理工作集中在顶端Web服务层,整个系统的主要管理工作集 中在应用服务层,业务逻辑的修改对客户层没有影响。此外,由 于各层相对独立,可以进行并行开发,提高开发维护效率。

相关主题
文本预览
相关文档 最新文档