习题参考答案-Windows网络编程基础教程(第2版)-杨传栋-清华大学出版社
习 题_Windows网络编程(第2版)_[共2页]
242return 0;}程序的工作组流程如下。
•初始化Windows Sockets环境。
•创建完成端口对象CompletionPort。
•根据当前计算机中CPU的数量创建工作线程,并将新建的完成端口对象CompletionPort 作为线程的参数。
•创建监听Socket Listen,并将其绑定到本地地址的9990端口。
•在Socket Listen上进行监听。
•在while循环处理来自客户端的连接请求,接受连接,并将得到的与客户端进行通信的Socket Accept保存到PER_HANDLE_DATA结构体对象PerHandleData中。
将Socket Accept与前面的端口CompletionPort相关联。
•在Socket Accept上调用WSARecv()函数,异步接收Socket上来自客户端的数据。
WSARecv()函数立即返回,此时Socket Accept上不一定有客户端发送来的消息。
在工作线程中会检测完成端口对象的状态,并接收来自客户端的数据,再将这些数据发送回客户端程序。
一、选择题1.下面不属于Socket编程模型的是()。
A.Select模型B.WSAAsyncSelect模型C.WSAEventSelect模型D.完成例程模型2.下面模型使用线程池处理异步I/O请求的是()。
A.Select模型B.WSAAsyncSelect模型C.WSAEventSelect模型D.完成端口模型3.在ioctlsocket()函数中使用()参数,并将argp参数设置为非0值,可以将Socket设置为非阻塞模式。
A.FIONBIO B.FIONREADC.SIOCATMARK D.FIONONBLOCK4.在执行select()函数时如果出现错误则返回()。
A.0 B.−1C.NULL D.SOCKET_ERROR5.在WSAEventSelect模型中,调用WSAEventSelect()函数注册网络事件后,应用程序需要等待网络事件的发生,然后对网络事件进行处理。
编译原理(清华大学-第2版)课后习题答案
第三章N=>D=> {0,1,2,3,4,5,6,7,8,9}N=>ND=>NDDL={a |a(0|1|3..|9)n且 n>=1}(0|1|3..|9)n且 n>=1{ab,}a nb n n>=1第6题.(1) <表达式> => <项> => <因子> => i(2) <表达式> => <项> => <因子> => (<表达式>) => (<项>)=> (<因子>)=>(i)(3) <表达式> => <项> => <项>*<因子> => <因子>*<因子> =i*i(4) <表达式> => <表达式> + <项> => <项>+<项> => <项>*<因子>+<项>=> <因子>*<因子>+<项> => <因子>*<因子>+<因子> = i*i+i (5) <表达式> => <表达式>+<项>=><项>+<项> => <因子>+<项>=i+<项> => i+<因子> => i+(<表达式>) => i+(<表达式>+<项>)=> i+(<因子>+<因子>)=> i+(i+i)(6) <表达式> => <表达式>+<项> => <项>+<项> => <因子>+<项> => i+<项> => i+<项>*<因子> => i+<因子>*<因子> = i+i*i第7题第9题语法树ss s* s s+aa a推导: S=>SS*=>SS+S*=>aa+a*11. 推导:E=>E+T=>E+T*F语法树:E+T*T F短语: T*F E+T*F直接短语: T*F句柄: T*F12.<E><E> <T> <POP><T> <F> <MOP>短语:<T><F><MOP> <E><T><F><MOP><POP>直接短语:<T><F><MOP>句柄: <T><F><MOP>13.(1)最左推导:S => ABS => aBS =>aSBBS => aBBS=> abBS => abbS => abbAa => abbaa 最右推导:S => ABS => ABAa => ABaa => ASBBaa=> ASBbaa => ASbbaa => Abbaa => a1b1b2a2a3 (2) 文法:S → ABSS → AaS →εA → aB → b(3) 短语:a1 , b1 , b2, a2 , , bb , aa , abbaa,直接短语: a1 , b1 , b2, a2 , ,句柄:a114 (1)S → ABA → aAb | εB → aBb | ε(2)S → 1S0S → AA → 0A1 |ε第四章1. 1. 构造下列正规式相应的DFA(1)1(0|1)*101NFA(2) 1(1010*|1(010)*1)*0NFA(3)NFA(4)NFA2.解:构造DFA 矩阵表示a,bb其中0 表示初态,*表示终态用0,1,2,3,4,5分别代替{X} {Z} {X,Z} {Y} {X,Y} {X,Y,Z} 得DFA状态图为:3.解:构造DFA矩阵表示构造DFA的矩阵表示其中表示初态,*表示终态替换后的矩阵4.(1)解构造状态转换矩阵:{2,3} {0,1}{2,3}a={0,3}{2},{3},{0,1}{0,1}a={1,1} {0,1}b={2,2}(2)解:首先把M的状态分为两组:终态组{0},和非终态组{1,2,3,4,5} 此时G=( {0},{1,2,3,4,5} ) {1,2,3,4,5}a={1,3,0,5}{1,2,3,4,5}b={4,3,2,5}由于{4}a={0} {1,2,3,5}a={1,3,5}因此应将{1,2,3,4,5}划分为{4},{1,2,3,5}G=({0}{4}{1,2,3,5}){1,2,3,5}a={1,3,5}{1,2,3,5}b={4,3,2}因为{1,5}b={4} {23}b={2,3}所以应将{1,2,3,5}划分为{1,5}{2,3}G=({0}{1,5}{2,3}{4}){1,5}a={1,5} {1,5}b={4} 所以{1,5} 不用再划分{2,3}a={1,3} {2,3}b={3,2}因为 {2}a={1} {3}a={3} 所以{2,3}应划分为{2}{3}所以化简后为G=( {0},{2},{3},{4},{1,5})7.去除多余产生式后,构造NFA如下确定化,构造DFA 矩阵G={(0,1,3,4,6),(2,5)} {0,1,3,4,6}a={1,3}{0,1,3,4,6}b={2,3,4,5,6}所以将{0,1,3,4,6}划分为 {0,4,6}{1,3} G={(0,4,6),(1,3),(2,5)}{0,4,6}b={3,6,4} 所以 划分为{0},{4,6} G={(0),(4,6),(1,3),(2,5)}不能再划分,分别用 0,4,1,2代表各状态,构造DFA 状态转换图如下;b8.代入得S = 0(1S|1)| 1(0S|0) = 01(S|ε) | 10(S|ε) = (01|10)(S|ε)= (01|10)S | (01|10)= (01|10)*(01|10)构造NFA由NFA可得正规式为(01|10)*(01|10)=(01|10)+9.状态转换函数不是全函数,增加死状态8,G={(1,2,3,4,5,8),(6,7)}(1,2,3,4,5,8)a=(3,4,8) (3,4)应分出(1,2,3,4,5,8)b=(2,6,7,8)(1,2,3,4,5,8)c=(3,8)(1,2,3,4,5,8)d=(3,8)所以应将(1,2,3,4,5,8)分为(1,2,5,8), (3,4)G={(1,2,5,8),(3,4),(6,7)}(1,2,5,8)a=(3,4,8) 8应分出(1,2,5,8)b=(2,8)(1,2,5,8)c=(8)(1,2,5,8)d=(8)G={(1,2,5),(8),(3,4),(6,7)}(1,2,5)a=(3,4,8) 5应分出G={(1,2), (3,4),5, (6,7) ,(8) }去掉死状态8,最终结果为 (1,2) (3,4) 5,(6,7) 以1,3,5,6代替,最简DFA为b正规式:b*a(da|c)*bb*第五章1.S->a | ^ |( T )T -> T , S | S(a,(a,a))S => ( T ) => ( T , S ) => ( S , S ) => ( a , S) => ( a, ( T )) =>(a , ( T , S ) ) => (a , ( S , S )) => (a , ( a , a ) ) S=>(T) => (T,S) => (S,S) => ( ( T ) , S ) => ( ( T , S ) , S ) => ( ( T , S , S ) , S ) => ( ( S , S , S ) , S )=> ( ( ( T ) , S , S ) , S ) => ( ( ( T , S ) , S , S ) , S ) =>( ( ( S , S ) , S , S ) , S ) => ( ( ( a , S ) , S , S ) , S ) => ( ( ( a , a ) , S , S ) , S ) => ( ( ( a , a ) , ^ , S ) , S ) => ( ( ( a , a ) , ^ , ( T ) ) , S )=> ( ( ( a , a ) , ^ , ( S ) ) , S ) => ( ( ( a , a ) , ^ , ( a ) ) , S ) => ( ( ( a , a ) , ^ , ( a ) ) , a )S->a | ^ |( T )T -> T , ST -> S消除直接左递归:S->a | ^ |( T )T -> S T’T’ -> , S T’ | ξSELECT ( S->a) = {a}SELECT ( S->^) = {^}SELECT ( S->( T ) ) = { ( }SELECT ( T -> S T’) = { a , ^ , ( }SELECT ( T’ -> , S T’ ) = { , }SELECT ( T’ ->ξ) = FOLLOW ( T’ ) = FOLLOW ( T ) = { )}构造预测分析表分析符号串( a , a )#分析栈剩余输入串所用产生式#S ( a , a) # S -> ( T )# ) T ( ( a , a) # ( 匹配# ) T a , a ) # T -> S T’# ) T’ S a , a ) # S -> a# ) T’ a a , a ) # a 匹配# ) T’,a) # T’ -> , S T’# ) T’ S , , a ) # , 匹配# ) T’ S a ) # S->a# ) T’ a a ) # a匹配# ) T’) # T’ ->ξ# ) ) # )匹配# # 接受2.E->TE’E’->+E E’->ξT->FT’T’->T T’->ξF->PF’F’->*F’F’->ξP->(E) P->a P->b P->∧SELECT(E->TE’)=FIRST(TE’)=FIRST(T)= {(,a,b,^)SELECT(E’->+E)={+}SELECT(E’->ε)=FOLLOW(E’)= {#,)}SELECT(T->FT’)=FIRST(F)= {(,a,b,^}SELECT(T’ —>T)=FIRST(T)= {(,a,b,^)SELECT(T’->ε)=FOLLOW(T’)= {+,#,)}SELECT(F ->P F’)=FIRST(F)= {(,a,b,^}SELECT(F’->*F’)={*}SELECT(F’->ε)=FOLLOW(F’)= {(,a,b,^,+,#,)}3. S->MH S->a H->Lso H->ξK->dML K->ξL->eHf M->K M->bLM FIRST ( S ) =FIRST(MH)= FIRST ( M ) ∪FIRST ( H ) ∪{ξ} ∪{a}= {a, d , b , e ,ξ} FIRST( H ) = FIRST ( L ) ∪{ξ}= { e , ξ}FIRST( K ) = { d , ξ}FIRST( M ) = FIRST ( K ) ∪{ b } = { d , b ,ξ}FOLLOW ( S ) = { # , o }FOLLOW ( H ) = FOLLOW ( S ) ∪{ f } = { f , # , o }FOLLOW ( K ) = FOLLOW ( M ) = { e , # , o }FOLLOW ( L ) ={ FIRST ( S ) –{ξ} } ∪{o} ∪FOLLOW ( K )∪{ FIRST ( M ) –{ξ} } ∪FOLLOW ( M )= {a, d , b , e , # , o }FOLLOW ( M ) ={ FIRST ( H ) –{ξ} } ∪FOLLOW ( S )∪{ FIRST ( L ) –{ξ} } = { e , # , o }SELECT ( S-> M H) = ( FIRST ( M H) –{ξ} ) ∪FOLLOW ( S )= ( FIRST( M ) ∪FIRST ( H ) –{ξ} ) ∪FOLLOW ( S )= { d , b , e , # , o }SELECT ( S-> a ) = { a }SELECT ( H->L S o ) = FIRST(L S o) = { e }SELECT ( H ->ξ) = FOLLOW ( H ) = { f , # , o }SELECT ( K-> d M L ) = { d }SELECT ( K->ξ) = FOLLOW ( K ) = { e , # , o }SELECT ( L-> e H f ) = { e }SELECT ( M->K ) = ( FIRST( K ) –{ξ} ) ∪FOLLOW ( M ) = {d,e , # , o }SELECT ( M -> b L M )= { b }4 . 文法含有左公因式,变为S->C $ { b, a }C-> b A { b }C-> a B { a }A -> b A A { b }A-> a A’ { a }A’-> ξ{ $ , a, b }A’-> C { a , b }B->a B B { a }B -> b B’ { b }B’->ξ{ $ , a , b }B’-> C { a, b }5. <程序> --- S <语句表>――A <语句>――B <无条件语句>――C <条件语句>――D <如果语句>――E<如果子句> --FS->begin A end S->begin A end { begin }A-> B A-> B A’ { a , if }A-> A ; B A’-> ; B A’ { ; }A’->ξ{ end }B-> C B-> C { a } B-> D B-> D { if }C-> a C-> a { a }D-> E D-> E D’ { if }D-> E else B D’-> else B { else }D’->ξ{; , end } E-> FC E-> FC { if }F-> if b then F-> if b then { if }非终结符是否为空S-否A-否A’-是B-否C-否D-否D’-是E-否F-否FIRST(S) = { begin }FIRST(A) = FIRST(B) ∪FIRST(A’) ∪{ξ} = {a , if , ; , ξ} FIRST(A’) ={ ; , ξ}FIRST(B) = FIRST(C) ∪FIRST(D) ={ a , if }FIRST(C) = {a}FIRST(D) = FIRST(E)= { if }FIRSR(D’) = {else , ξ}FIRST(E) = FIRST(F) = { if }FIRST(F) = { if }FOLLOW(S) = {# }FOLLOW(A) = {end}FOLLOW(A’) = { end }FOLLOW(B) = {; , end }FOLLOW (C) = {; , end , else }FOLLOW(D) = {; , end }FOLLOW( D’ ) = { ; , end }FOLLOW(E) = { else , ; end }FOLLOW(F) = { a }S A A’ B C D D’ E F if then else begin end a b ;6. 1.(1) S -> A | B(2) A -> aA|a(3)B -> bB |b提取(2),(3)左公因子(1) S -> A | B(2) A -> aA’(3) A’-> A|ξ(4) B -> bB’(5) B’-> B |ξ2.(1) S->AB(2) A->Ba|ξ(3) B->Db|D(4) D-> d|ξ提取(3)左公因子(1) S->AB(2) A->Ba|ξ(3) B->DB’(4) B’->b|ξ(5) D-> d|ξ3.(1) S->aAaB | bAbB(2) A-> S| db(3) B->bB|a4(1)S->i|(E)(2)E->E+S|E-S|S提取(2)左公因子(1)S->i|(E)(2)E->SE’(3)E’->+SE’|-SE’ |ξ5(1)S->SaA | bB(2)A->aB|c(3)B->Bb|d消除(1)(3)直接左递归(1)S->bBS’(2)S’->aAS’|ξ(3)A->aB | c(4) B -> dB’(5)B’->bB’|ξ6.(1) M->MaH | H(2) H->b(M) | (M) |b消除(1)直接左递归,提取(2)左公因子(1)M-> HM’(2)M’-> aHM’ |ξ(3)H->bH’ | ( M )(4)H’->(M) |ξ7. (1)1)A->baB2)A->ξ3)B->Abb4)B->a将1)、2)式代入3)式1)A->baB2)A->ξ3)B->baBbb4)B->bb5)B->a提取3)、4)式左公因子1)A->baB2)A->ξ3)B->bB’4)B’->aBbb | b5)B->a(3)1)S->Aa2)S->b3)A->SB4)B->ab将3)式代入1)式1)S->SBa2)S->b3)A->SB4)B->ab消除1)式直接左递归1)S->bS’2)S’->BaS’ |ξ3)S->b4)A->SB5)B->ab删除多余产生式4)1)S->bS’2)S’->BaS’ |ξ3)S->b4)B->ab(5)1)S->Ab2)S->Ba3)A->aA4)A->a提取3)4)左公因子1)S->Ab2)S->Ba3)A->aA’4)A’-> A |ξ5)B->a将3)代入1)5)代入21)S->aA’b2)S->aa3)A->aA’4)A’-> A |ξ5)B->a提取1)2)左公因子1)S-> aS’2)S’->A’b | a3)A->aA’4)A’-> A |ξ5)B->a删除多余产生式5)1)S-> aS’2)S’->A’b | a3)A->aA’4)A’-> A |ξA A’S’S将3)代入4)1)S-> aS’2)S’->A’b | a3)A->aA ’4)A’-> aA’ |ξ将4)代入2)1)S-> aS’2)S’->aA’b3)S’->a4)S’->b5)A->aA ’6)A’-> aA’ |ξ对2)3)提取左公因子1)S->aS’2)S’->aS’’3)S’’->A’b|ξ4)S’->b5)A->aA ’6)A’-> aA’ |ξ删除多余产生式5)1)S->aS’3)S’’->A’b|ξ4)S’->b5)A’-> aA’ |ξ第六章1S → a | ∧ | ( T )T → T , S | S解:(1) 增加辅助产生式 S’→#S#求 FIRSTVT集FIRSTVT(S’)= {#}FIRSTVT(S)= {a ∧ ( }= { a ∧ ( }FIRSTVT (T) = {,} ∪ FIRSTVT( S ) = { , a ∧ ( }求 LASTVT集LASTVT(S’)= { # }LASTVT(S)= { a ∧ )}LASTVT (T) = { , a ∧ )}(2)算符优先关系表因为任意两终结符之间至多只有一种优先关系成立,所以是算符优先文法(3)a ∧( ) , #F 1 1 1 1 1 1g 1 1 1 1 1 1f 2 2 1 3 2 1g 2 2 2 1 2 1f 3 3 1 3 3 1g 4 4 4 1 2 1f 3 3 1 3 3 1g 4 4 4 1 2 1(4)#<·( a,a)# 移进#( <· a ,a)# 移进# (a ·> , a)# 规约#(T <·, a)# 移进#(T,<· a )# 移进#(T,a ·> ) # 规约#(T,T ·> ) # 规约#(T =·) # 移进#(T) ·> #规约#T =·#接受4.扩展后的文法S’→#S# S→S;G S→G G→G(T) G→H H→a H→(S)T→T+S T→S(1)FIRSTVT(S)={;}∪FIRSTVT(G) = {; , a , ( }FIRSTVT(G)={ ( }∪FIRSTVT(H) = {a , ( }FIRSTCT(H)={a , ( }FIRSTVT(T) = {+} ∪FIRSTVT(S) = {+ , ; , a , ( }LASTVT(S) = {;} ∪LASTVT(G) = { ; , a , )}LASTVT(G) = { )} ∪LASTVT(H) = { a , )}LASTVT(H) = {a, )}LASTVT(T) = {+ } ∪LASTVT(S) = {+ , ; , a , ) }因为任意两终结符之间至多只有一种优先关系成立,所以是算符优先文法(2)句型a(T+S);H;(S)的短语有:a(T+S);H;(S) a(T+S);H a(T+S) a T+S (S) H直接短语有: a T+S H (S)句柄: a素短语:a T+S (S)最左素短语:a(3)分析a;(a+a)不能用最右推导推导出上面的两个句子。
计算机网络基础(第二版)习题参考答案
计算机网络基础(第二版)习题参考答案计算机网络基础(第二版)习题参考答案第一章:计算机网络概述1. 什么是计算机网络?计算机网络是指通过通信设备与线路将广泛分布的计算机系统连接起来,使其能够互相传送数据和共享资源的系统。
2. 计算机网络的分类有哪些?计算机网络可以根据规模分为广域网(WAN)、局域网(LAN)和城域网(MAN);根据拓扑结构分为总线型、环型、星型、树型和网状型等;根据传输介质分为有线网络和无线网络。
3. 计算机网络的优缺点是什么?计算机网络的优点包括提高工作效率、资源共享、信息传递迅速等;缺点包括网络安全隐患、传输速度受限、依赖性较强等。
4. OSI七层模型是什么?OSI七层模型是国际标准化组织(ISO)提出的通信协议参考模型,按照功能从下到上依次为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
5. TCP/IP四层模型是什么?TCP/IP四层模型是互联网上的通信协议参考模型,按照功能从下到上依次为网络接口层、网络层、传输层和应用层。
第二章:物理层1. 物理层的作用是什么?物理层主要负责传输比特流,通过物理介质将比特流从发送端传输到接收端。
2. 串行传输和并行传输有什么区别?串行传输是指按照位的顺序将比特一个接一个地传输,而并行传输是指同时传输多个比特。
3. 常见的物理层传输介质有哪些?常见的物理层传输介质包括双绞线、同轴电缆、光纤和无线电波等。
4. 什么是调制和解调?调制是指将数字信号转换为模拟信号的过程,解调是指将模拟信号转换为数字信号的过程。
5. 什么是编码和解码?编码是指将比特流转换为电信号的过程,解码是指将电信号转换为比特流的过程。
第三章:数据链路层1. 数据链路层的作用是什么?数据链路层主要负责将数据报传输到相邻节点,以及差错控制、流量控制等功能。
2. 什么是帧?帧是数据链路层中的数据传输单位,包括字段和控制信息。
3. 什么是差错检测?差错检测是指在传输过程中检测到传输错误的方法,常见的差错检测方法包括奇偶校验、循环冗余检验(CRC)等。
计算机网络(第二版)课后习题答案第三章
计算机网络参考答案第三章(高教第二版冯博琴)1 什么是网络体系结构?网络体系结构中基本的原理是什么?答:所谓网络体系就是为了完成计算机间的通信合作,把每个计算机互连的功能划分成定义明确的层次,规定了同层次进程通信的协议及相邻层之间的接口及服务。
将这些同层进程间通信的协议以及相邻层接口统称为网络体系结构。
网络体系结构中基本的原理是抽象分层。
2 网络协议的组成要素是什么?试举出自然语言中的相对应的要素。
答:网络协议主要由三个要素组成:1)语义协议的语义是指对构成协议的协议元素含义的解释,也即“讲什么”。
2)语法语法是用于规定将若干个协议元素和数据组合在一起来表达一个更完整的内容时所应遵循的格式,即对所表达的内容的数据结构形式的一种规定(对更低层次则表现为编码格式和信号电平),也即“怎么讲”。
3)时序时序是指通信中各事件发生的因果关系。
或者说时序规定了某个通信事件及其由它而触发的一系列后续事件的执行顺序。
例如在双方通信时,首先由源站发送一份数据报文,如果目标站收到的是正确的报文,就应遵循协议规则,利用协议元素ACK来回答对方,以使源站知道其所发出的报文已被正确接收,于是就可以发下一份报文;如果目标站收到的是一份错误报文,便应按规则用NAK元素做出回答,以要求源站重发该报文。
3 OSI/RM参考模型的研究方法是什么?答:OSI/RM参考模型的研究方法如下:1)抽象系统抽象实系统中涉及互连的公共特性构成模型系统,然后通过对模型系统的研究就可以避免涉及具体机型和技术实现上的细节,也可以避免技术进步对互连标准的影响。
2)模块化根据网络的组织和功能将网络划分成定义明确的层次,然后定义层间的接口以及每层提供的功能和服务,最后定义每层必须遵守的规则,即协议。
模块化的目的就是用功能上等价的开放模型代替实系统。
5 服务原语的作用是什么?试以有确认服务为例进行说明。
答:服务在形式上是用服务原语来描述的,这些原语供用户实体访问该服务或向用户实体报告某事件的发生。
计算机网络基础教程(第2版)习题答案作者杜煜姚鸿计算机网络基础(第二版)习题参考答案
《计算机网络基础(第二版)》习题参考答案第一章(1)计算机网络按网络的覆盖范围可分为_局域网_、城域网和__广域网__。
(2)从计算机网络组成的角度看,计算机网络从逻辑功能上可分为通信子网和__资源__子网。
(1)计算机网络的发展经过哪几个阶段?每个阶段各有什么特点?答:单机系统:在单处理机联机网络中,由单用户独占一个系统发展到分时多用户系统,被称为第一代网络。
多机系统:将多个单处理机联机终端网络互相连接起来,以多处理机为中心的网络,并利用通信线路将多台主机连接起来,为用户提供服务,形成了以通信子网为核心的第二代网络,随着分组交换技术的使用,逐渐形成了以遵守网络体系结构的第三代网络。
Internet是计算机网络发展最典型的实例,该网络的发展也促使新的高速网络技术的不断出现,又提高了网络的发展。
(2)什么是计算机网络?计算机网络的主要功能是什么?答:利用通信设备和线路,将分布在地理位置不同的、功能独立的多个计算机系统连接起来,以功能完善的网络软件(网络通信协议及网络操作系统等)实现网络中资源共享和信息传递的系统。
主要功能:1. 数据交换和通信:在计算机之间快速可靠地相互传递数据、程序或文件;2. 资源共享:充分利用计算机网络中提供的资源(包括硬件、软件和数据);3. 提高系统的可靠性:通过计算机网络实现的备份技术可以提高计算机系统的可靠性。
4. 分布式网络处理和负载均衡:将任务分散到网络中的多台计算机上进行,减轻任务负荷过重的单台主机。
(3)计算机网络分为哪些子网?各个子网都包括哪些设备,各有什么特点?答:从计算机网络系统组成的角度看,典型的计算机网络分为资源子网和通信子网。
资源子网由主机、终端、终端控制器、连网外设、各种软件资源与信息资源组成。
主机是资源子网的主要组成单元,为本地用户和网络中远程用户访问网络其他主机设备与资源提供服务。
终端控制器负责终端和主计算机的信息通信。
终端是直接面向用户的交互设备,可以是由键盘和显示器组成的简单的终端,也可以是微型计算机系统。
计算机网络技术基础(第2版)课后习题参考答案
计算机网络技术基础(第2版)课后习题参考答案计算机网络技术基础(第2版)课后习题参考答案一、选择题1. A2. D3. C4. B5. A6. D7. B8. C9. A 10. D二、填空题1. 外网2. 客户端3. 协议4. 因特网5. 应用层6. 主机7. 数据链路层8. 路由器9. 局域网 10. 有线三、判断题1. 错误2. 正确3. 正确4. 正确5. 错误四、简答题1. 计算机网络是指将分布在不同地理位置的计算机系统通过通信设备和通信线路互连起来的系统。
它能够实现计算机之间的数据传输、资源共享和信息交流。
计算机网络包括局域网、广域网和因特网等。
2. OSI(开放式系统互联)参考模型是国际标准化组织(ISO)提出的通信协议参考模型。
它将计算机网络的通信过程分为七层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
每一层都有特定的功能和协议。
3. IP地址是互联网上每台主机或路由器连接到网络时被分配的唯一标识符。
它由32位二进制数组成,通常以IPv4和IPv6两种版本存在。
IPv4地址分为4个8位字段,用点分十进制表示;IPv6地址分为8个16位字段,用冒号分隔。
4. TCP/IP协议是互联网上常用的协议集合。
它由传输控制协议(TCP)和网络互联协议(IP)两部分组成。
其中,TCP负责提供可靠的数据传输,确保数据按正确的顺序到达目的地;而IP负责将数据分割为数据包,通过路由器进行转发,最终将数据传送到目标主机。
五、应用题1. 分组交换是一种数据传输方式,将数据分割为大小相等的数据包(分组),每个数据包都附带目标地址和源地址等信息。
分组交换通过路由器将数据包从源主机传输到目标主机,由于数据包是按需发送,因此可以更灵活地利用网络资源。
2. 应用层是计算机网络的最顶层,它提供了各种网络应用程序之间的通信能力。
常见的应用层协议有HTTP、FTP、SMTP等。
应用层协议定义了数据的格式、编码方式和传输规则等,以确保应用程序之间可以相互通信。
Windows网络编程 练习题参考答案
第1章Internet与网络通信模型概述一、选择题1.D 2.B 3.D 4.D二、填空题1.Open System Interconnection Reference Model2.开放系统互连参考模型3.协议数据单元4.PDU,Protocol Data Unit5.数据段(Segment)6.数据包(Packet)7.数据帧(Frame)8.比特(Bit)9.网络接口层10.网络层11.传输层12.应用层三、简答题1.答:OSI参考模型将网络通信的工作划分为7个层次,由低到高分别为物理层(Physical Layer)、数据链路层(Data Link Layer)、网络层(Network Layer)、传输层(Transport Layer)、会话层(Session Layer)、表示层(Presentation Layer)和应用层(Application Layer)。
2.答:在网络通信中,发送端的自上而下的使用OSI参考模型,对应用程序要发送的信息进行逐层打包,直至在物理层将其发送到网络中;而接收端则自下而上的使用OSI参考模型,将收到的物理数据逐层解析,最后将得到的数据传送给应用程序。
当然,并不是所有的网络通信都需要经过OSI模型的全部七层。
例如,同一网段的二层交换机之间通信之需要经过数据链路层和物理层,而路由器之间的连接则只需要网络层、数据链路层和物理层即可。
在发送方封装数据的过程中,每一层都会为数据包加上一个头部;在接收方解封数据时,又会逐层解析掉这个头部。
因此,双方的通信必须在对等层次上进行,否则接收方将无法正确地解析数据。
3.答:帧的简要结构如图1.4所示。
图1.4 帧的简要结构每个字段的说明如下:●前导码,内容是16进制数0xAA,作用是使接收节点进行同步并做好接收数据帧的准备。
●帧首定界符,是10101011的二进制序列,标识帧的开始,以使接收器对实际帧的第一位定位。
●源地址和目的地址,即发送和接收数据的两端主机的MAC地址。
Windows网络编程基础-习题解答
《Windows网络编程基础》习题解答第一章网络应用程序设计基础习题1.TCP/IP协议栈的五个层次是什么?在这些层次中,每层的主要任务是什么?解答:TCP/IP参考模型分为五个层次:应用层、传输层、网络层、链路层和物理层。
以下分别介绍各层的主要功能。
应用层是网络应用程序及其应用层协议存留的层次。
该层包括了所有与网络相关的高层协议,如文件传输协议(File Transfer Protocol,FTP)、超文本传输协议(Hypertext Transfer Protocol,HTTP)、Telent(远程终端协议)、简单邮件传送协议(Simple Mail Transfer Protocol,SMTP)、因特网中继聊天(Internet Relay Chat,IRC)、网络新闻传输协议(Network News Transfer Protocol,NNTP)等。
传输层的功能是使源端主机和目标端主机上的对等实体可以进行会话。
在传输层定义了两种服务质量不同的协议,即:传输控制协议(Transmission Control Protocol,TCP)和用户数据报协议(User Datagram Protocol,UDP)。
网络层是整个TCP/IP协议栈的核心。
它的功能是通过路径选择把分组发往目标网络或主机,进行网络拥塞控制以及差错控制。
链路层负责物理层和网络层之间的通信,将网络层接收到的数据分割成特定的可被物理层传输的帧,并交付物理层进行实际的数据传送。
物理层的任务是将该帧中的一个一个比特从一个节点移动到下一个节点。
该层中的协议仍然是链路相关的,并且进一步与链路(如双绞线、单模光纤)的实际传输媒体相关。
对应于不同的传输媒体,跨越这些链路移动一个比特的方式不同。
2.请分析路由器、链路层交换机和主机分别处理TCP/IP协议栈中的哪些层次?解答:路由器处理TCP/IP协议栈的物理层、链路层和网络层;链路层交换机处理TCP/IP协议栈的物理层和链路层;主机处理TCP/IP协议栈的物理层、链路层、网络层、传输层和应用层。
习 题_Windows网络编程(第2版)_[共2页]
31 序通常使用POP3或者IMAP (Internet Message Access Protocol ,交互式邮件存取协议)来访问邮件服务器上的邮箱账号。
使用SMTP 创建消息、传送邮件的主要流程如下。
(1)客户端邮件应用程序使用SMTP 向邮件服务器提交一封电子邮件。
(2)邮件服务器将邮件传送至一个邮件传输代理(MTA )。
通常,MTA 和邮件服务器运行在同一台计算机上。
TCP 端口25用于向邮件服务器提交数据。
邮件服务器在域名系统DNS 中查找目标邮件交换记录,然后通过TCP 端口25向邮件传输代理传送数据。
邮件传输代理(Mail Transfer Agent ,MTA )的功能是将信件转发给指定用户。
(3)邮件传输代理在收到消息后,将通过邮件分发代理(MDA )将邮件分发到相应的用户邮箱中。
MDA 还可以解决发送后的一些问题,如病毒扫描和垃圾邮件过滤等。
2.POP3客户端邮件应用程序可以使用IMAP 或者POP3来接收邮件服务器上的邮件。
POP3是基于客户端/服务器结构的网络协议,使用者通过它可以将接收到的邮件保存到邮件服务器上。
POP3支持离线邮件处理,用户可以定期检查服务器上的邮箱,并下载新的邮件。
绝大多数客户端邮件应用程序都支持POP3,如Outlook Express 和Foxmail 等。
在IE 和Netscape 浏览器中也集成了POP3。
当用户使用POP3从邮件服务器上下载邮件后,该邮件将会从服务器上被删除掉,但也可以设置将下载后的邮件再保存一段时间。
POP3中包括如下3种状态。
• 认证状态:当客户端应用程序与邮件服务器建立连接时,客户端向邮件服务器发送自己的身份信息,包括账户和密码等,由服务器进行验证。
• 处理状态:通过验证后,客户端由认证状态转为处理状态,它将从邮件服务器上获取到未读邮件的列表,然后发送Quit 命令,退出处理状态,进入更新状态。
• 更新状态:在更新状态中,客户端应用程序将未读邮件下载到本地计算机,然后再返回到认证状态,确认身份后断开与服务器的连接。
计算机网络基础(第二版)习题参考答案
计算机网络基础(第二版)习题参考答案计算机网络基础(第二版)习题参考答案1. 数据通信基础计算机网络是一种将分布在不同地理位置的计算机系统连接在一起,实现信息交换和资源共享的系统。
数据通信是计算机网络的基础,它指的是在计算机网络中传输和交换数据的过程。
1.1 数据通信的基本概念数据通信是指通过某种媒介传输数据,将计算机系统中的信息从一个地方发送到另一个地方。
数据通信的基本概念包括发送方、接收方、传输介质、传输模式等。
1.2 数据通信的基本组成数据通信的基本组成包括发送器、信道、接收器等。
发送器将信息转换为适合传输的形式,并通过信道将信息传输到接收器进行处理。
1.3 数据通信的基本模型数据通信的基本模型是指数据在传输过程中的几个基本要素,包括发送方、接收方、传输介质和传输协议。
发送方将信息分段转换为数据包,通过传输介质传输给接收方,接收方按照相应的传输协议进行解析和处理。
2. 计算机网络的概述计算机网络是指将多台计算机系统通过通信线路或其他传输介质连接起来,实现信息交换和资源共享的系统。
2.1 计算机网络的分类根据规模和范围的不同,计算机网络可以分为局域网(LAN)、城域网(MAN)和广域网(WAN)等不同类型。
2.2 计算机网络的体系结构计算机网络的体系结构包括物理层、数据链路层、网络层、传输层和应用层等不同层次。
每一层负责不同的功能,通过协议进行通信和交互。
3. TCP/IP协议世界TCP/IP是互联网的核心协议,由传输控制协议(TCP)和互联网协议(IP)组成。
3.1 TCP/IP协议的基本原理TCP/IP协议是一种面向连接的协议,通过将数据分割成数据段并进行封装,使用IP地址将数据段传输到目的地,再通过TCP协议实现数据的可靠传输。
3.2 TCP/IP协议的层次结构TCP/IP协议的层次结构包括网络接口层、网络层、传输层和应用层等不同层次。
每一层负责不同的功能,通过协议进行通信和交互。
3.3 TCP/IP协议的应用TCP/IP协议广泛应用于互联网和局域网等不同的网络环境中。
第3章 WinSock编程初步-Windows网络编程基础教程(第2版)-杨传栋-清华大学出版社
注意:
➢ 熟练掌握常用WinSock API函数的功能和使用方法是利用 Windows Socket进行网络编程的基础。
➢ 要掌握WinSock API函数,首先要记住该函数的名称与函 数的主要功能,其次要清楚各参数的类型及作用,以及函 数返回值的类型及意义,最后还要掌握函数成功执行的必 要条件,了解造成函数不能成功执行的常见原因。
➢ 不仅包括了Berkeley Sockets风格的库函数,同时也提供了 一套Windows所特有的扩展库函数,使程序员能够使用 Windows系统的消息驱动机制。
➢ 应用程序调用WinSock的API函数实现相互之间的通信,而 WinSock API函数又利用下层Windows操作系统中的网络 通信协议和相关的系统调用实现其通信功能。
1.包含WinSock头文件:在程序文件首部使用编译预处理命 令“#include”,将WinSock头文件包含进来。例如:
#include <WinSock2.h> 2.链接WinSock导入库,有两种方式:
✓ 通过在项目属性页中的“配置属性\链接器\输入”的 “附加依赖项”中直接添加导入库名字
✓ 在程序中使用预处理命令“#pragma comment”。例 如,程序要使用WinSock2时,可使用如下预处理命令: #pragma comment (lib, "Ws2_32.lib")
➢ 由于WinSock2完全兼容WinSock1,因此,当系统中安装 的是WinSock2时,程序中即可以使用WinSock1的头文件 和导入库也可以使用WinSock2的头文件和导入库,但如果 要使用只有WinSock2才有的功能,那就只能使用 WinSock2的头文件和导入库。
第8章 原始套接字编程-Windows网络编程基础教程(第2版)-杨传栋-清华大学出版社
➢ 原始套接字是在传输层之下使用的套接字,原始套接所提供 的特殊功能主要包括:
1)可对ICMP、IGMP等较低层次的协议直接访问,直接发 送或接收ICMP、IGMP等协议的报文。
2)能够接收一些TCP/IP栈不能处理的特殊的IP分组,通常 是网络核心不能识别IP分组的协议字段。
3)通过设置原始套接字的IP_HDRINCL选项,可以发送用 户自定义分组首部的IP分组,因此可编写测试基于IP的高 层网络协议。
如果参数protocol指定为IPPROTO_ICMP或 IPPROTO_UDP等这种即不是IPPROTO_IP(值为0)也不 是IPPROTO_RAW(值为255)的值,发送数据时,系统 将会按照该参数指定的协议类型自动构造IP分组首部,而 不用自己填充。
接收数据时,系统只会将首部协议字段值和该参数值相同 的IP分组交给该原始套接字。因此,一般来说,要想接收 或发送哪个协议的数据包,就应该在创建套接字时将参数 protocol指定为哪个协议。
8.2 原始套接字的通信流程
➢ 原始套接字的通信是基于IP 分组的,因而是无连接、 不可靠的,其编程流程与 数据报套接字类似。
➢ 一般情况下,WinSock的 原始套接字只能接收到运 载ICMP报文、IGMP报文 和TCP/IP不能识别内容的 IP分组,要想接收运载TCP 报文段和UDP数据报的IP 分组,需要对原始套接字 的选项进行设置。
创建一个原始套接字时,如果将参数protocol指定为 IPPROTO_RAW,则所创建的原始套接字只能用来发送IP 包,而不能接收任何数据,而且要发送的数据需要自己填 充IP首部。
如果将参数protocol指定为IPPROTO_IP,则所创建的原 始套接字可用于接收任何IP分组,但IP分组的校验和验证 和协议分析等需要由程序自己完成。
计算机网络(第二版)名词解释+课后习题答案
1.广域网覆盖范围从几十千米到几千千米,可以将一个国家、地区或横跨几个洲的计算机和网络互联起来的网络2.城域网可以满足几十公里范围内的大量企业、机关、公司的多个局域网互联的需要,并能实现大量用户与数据、语音、图像等多种信息传输的网络。
3.局域网用于有限地理范围(例如一幢大楼),将各种计算机、外设互连的网络。
4.无线传感器网络一种将Ad hOC网络技术与传感器技术相结合的新型网络5.计算机网络以能够相互共享资源的方式互联起来的自治计算机系统的集合。
6.网络拓扑通过网中结点与通信线路之间的几何关系来反映出网络中各实体间的结构关系7.ARPANET 对Internet的形成与发展起到奠基作用的计算机网络8.点对点线路连接一对计算机或路由器结点的线路9.Ad hOC网络一种特殊的自组织、对等式、多跳、无线移动网络。
10.P2P所有的成员计算机在不同的时间中,可以充当客户与服务器两个不同的角色,区别于固定服务器的网络结构形式1.0SI参考模型由国际标准化组织IS0制定的网络层次结构模型。
2.网络体系结构.计算机网络层次结构模型与各层协议的集合。
3.通信协议为网络数据交换而制定的规则、约定与标准。
4.接口同一结点内相邻层之间交换信息的连接点。
5.数据链路层该层在两个通信实体之间传送以帧为单位的数据,通过差错控制方法,使有差错的物理线路变成无差错。
6.网络层负责使分组以适当的路径通过通信子网的层次。
7.传输层负责为用户提供可靠的端到端进程通信服务的层次。
8.应用层.0SI参考模型的最高层。
1.基带传输在数字通信信道上直接传输基带信号的方法2.频带传输利用模拟通信信道传输数字信号的方法3.移频键控通过改变载波信号的角频率来表示数据的信号编码方式4.振幅键控通过改变载波信号的振幅来表示数据的信号编码方式5.移相键控通过改变载波信号的相位值来表示数据的信号编码方式。
6.单模光纤光信号只能与光纤轴成单个可分辨角度实现单路光载波传输的光纤7.多模光纤光信号可以与光纤轴成多个可分辨角度实现多路光载波传输的光纤8.单工通信在一条通信线路中信号只能向一个方向传送的方法9.半双工通信在一条通信线路中信号可以双向传送,但同一时间只能向一个方向传送数据10.全双工通信在一条通信线路中可以同时双向传输数据的方法11.模拟信号信号电平连续变化的电信号12.数字信号用0、1两种不同的电平表示的电信号13.外同步法发送端发送一路数据信号的同时发送一路同步时钟信号14.内同步法从自含时钟编码的发送数据中提取同步时钟的方法15.波分复用在一根光纤上复用多路光载波信号16.脉冲编码调制. 将语音信号转换为数字信号的方法1.纠错码让每个传输的分组带上足够的冗余信息,以便在接收端能发现并自动纠正传输差错的编码方法2.检错码让分组仅包含足以使接收端发现差错的冗余信息,但是不能确定哪个比特出错,并且自己不能纠正传输差错的编码方法。
计算机网络_清华大学出版社第二版_课后习题答案完整版
计算机网络第二版清华大学出版社课后习题(匡桂平整理)第一章概论一、名词解释用所给定义解释以下术语(请在每个术语前的划线上标出正确的定义)。
1.广域网:A2.城域网:D3.局域网: C4.无线传感器网络:B5.计算机网络:G6.网络拓扑:H7.ARPANET :E8.点对点线路:F9.Ad hOC网络:I10.P2P:JA.覆盖范围从几十千米到几千千米,可以将一个国家、地区或横跨几个洲的计算机和网络互联起来的网络。
B.一种将Ad hOC网络技术与传感器技术相结合的新型网络。
C.用于有限地理范围(例如一幢大楼),将各种计算机、外设互连的网络。
D.可以满足几十公里范围内的大量企业、机关、公司的多个局域网互联的需要,并能实现大量用户与数据、语音、图像等多种信息传输的网络。
E.对Internet的形成与发展起到奠基作用的计算机网络。
F.连接一对计算机或路由器结点的线路。
G.以能够相互共享资源的方式互联起来的自治计算机系统的集合。
H.通过网中结点与通信线路之间的几何关系来反映出网络中各实体间的结构关系。
I.一种特殊的自组织、对等式、多跳、无线移动网络。
J.所有的成员计算机在不同的时间中,可以充当客户与服务器两个不同的角色,区别于固定服务器的网络结构形式。
二、选择题1.随着微型计算机的广泛应用,大量的微型计算机通过局域网连入广域网,而局域网与广域网的互联通过什么设备来实现。
BA.通信子网B.路由器C.城域网D.电话交换网2.计算机网络是计算机技术与什么技术高度发展、密切结合的产物。
CA.交换机B.软件C.通信D.自动控制3.电信业一般认为宽带骨干网的数据传输速率达到。
CA.10MbpsB.100MbpsC.2GbpsD.10Gbps4.网络拓扑对网络性能与网络________有很大的影响。
A.造价B.主从关系C.结构D.控制关系A5.建设宽带网络的两个关键技术是骨干网技术和什么技术。
BA.InternetB.接入网C.局域网D.分组交换6.当通信子网采用什么方式时,首先要在通信双方之间建立起逻辑连接。
计算机网络安全教程(第2版)清华大学出版社附录A参考答案
附录A 部分习题参考答案
第
一、选择题
DAABDC
二、填空题
1.保护(Protect)反应(React)
2.可信计算平台Trusted Computing Platform
3. 50%
4.结构保护(Structured Protection)级别
5.攻击防御
第
一、选择题
CABDA
二、填空题
1.网络层
2.传输层网络层
2.DOS MZ headerPE Header
3.计算机病毒
4.VBScriptJavaScript
5.主程序引导程序
第
一、选择题
BDABC
二、填空题
1.操作系统
2.Multics
3.主体(Subject)客体(Object)访问矩阵(Access Matrix)
4.访问监控器(Reference Monitor)
5.运行保护
6.BibaBLP
第一章 windows网络编程基础
协议
为进行网络中的数据交换(通信)而建立 的规则、标准或约定。(=语义+语法+规则) 不同层具有各自不同的协议。
网络的状况
多种通信媒介——有线、无线…… 不同种类的设备——通用、专用……
…… 不同的应用环境——固定、移动…… 不同业务种类——分时、交互、实时…… 用户业务的延续性——不允许出现大的跌宕 起伏。 它们互相交织,形成了非常复杂的系统应用 环境。
套接字模型
网络字节顺序
不同的计算机存放多字节值的顺序不同, 有的机器在起始地址存放低位字节(低位先 存),有的机器在起始地址存放高位字节(高 位先存)。基于Intel的CPU,即我们常用的 PC机采用的是低位先存。为保证数据的正 确性,在网络协议中需要指定网络字节顺 序。TCP/IP协议使用16位整数和32位整数 的高位先存格式。
作业 考勤
第一章 Windows网络编程基础
南昌大学
本章内容
1.1 Windows网络编程基础知识
1.1.1 常用的网络应用实例 1.1.2 网络应用的特点 1.1.3 网络编程基础知识
1.2 Windows环境下的应用程序
1.2.1 应用程序的形态 1.2.2 应用程序的运行环境 1.2.3 应用程序的开发环境VC++
德国 教师
翻译 秘书
“Hello”
传真
P2
使用传真通信
“Hello”
传真
P1
物理通信线路
对等层通信的实质
对等层实体之间虚拟通信。
下层向上层提供服务,实际通信在最底层 完成。
OSI各层所使用的协议
计算机网络(第二版)清华大学出版社课后练习答案
计算机网络(第二版)清华大学出版社课后练习答案第一章一、名词解释。
1.A2.D3.C4.B5.G6.H7.E8.F9.I10.J二、选择题。
1.B2.C3.C4.A5.A6.B7.B8.D9.A三、判断对错。
1.N2.Y3.N4.N5.Y6.Y7.Y8.N9.N四、问答题。
1.计算机网络的发展可以划分为几个阶段?每个阶段各有什么特点?答:可以划分为四个阶段:阶段一:20世纪50年代数据通信技术的研究与发展;第二阶段:20世纪60年代ARPAnet与分组交换技术的研究与发展;第三阶段:20世纪70年代网络体系结构与协议标准化的研究广域网、局域网与分组交换技术的研究与应用;第四阶段:20世纪90年代Internet技术的广泛应用网络计算技术的研究与发展宽带城域网与接入网技术的研究与发展网络与信息安全技术的研究与发展。
2.按照资源共享的观点定义的计算机网络应具备哪几个主要特征?答:建立的主要目的是实现计算机资源的共享;互连的计算机是分布在不同地理位置的多台独立“自治系统”;连网计算机在通信过程中必须遵循相同的网络协议。
3.现代网络结构的特点是什么?答:随着微型计算机和局域网的广泛使用,使用大型机与中型机的主机-终端系统的用户减少,现代网络结构已经发生变化。
大量的微型计算机是过局域网连入城域网,而城域网、广域网之间的互联都是通过路由器实现。
4.广域网采用的数据交换技术主要有几种类型?它们各有什么特点?答:数据交换技术主要有两类:一类是线路交换。
线路交换之前,首先要在通信子网中建立一个实际的物理线路连接;通信过程分为三步:线路连接,数据传输和线路释放。
优点是通信实时性强,但存在对突发性通信不适应,系统效率低;不具备存储数据的能力,不能平滑通信量;也没有差错控制能力。
还有一类就是存储转发交换。
发送的数据与目的地址、源地址、控制信息按照一定格式组成一个数据单元进入通信子网。
通信子网中的结点是通信控制处理机,负责完成数据单元的接受、差错校验、存储、路由选择和转发功能。
第2章简单的 Windows 程序-Windows网络编程基础教程(第2版)-杨传栋-清华大学出版社
➢ 利用格式化可以把其它不是CString类型的数据转化为 CString类型
➢ 例:把一个整数转化成CString类型 CString s; s.Format("%d", total);
➢ 将char* 转化为 CString则直接可采用如下方法: char * p = "This is a test"; CString s = p; CString s(p); 或 CString s = "This is a test";
➢ VC++中的数据类型都是以大写字符出现的,这主要是为了 与标准C++的基本数据类型相区别。
➢ VC++中的数据类型的命名也是有规律的,从数据类型的名 字基本可以看出数据类型的意义。
✓ 指针类型的命令方式一般是在其指向的数据类型前加“LP” 或“P”,比如指向DWORD的指针类型为“LPDWORD”和 “PDWORD”;
cout << "Hello World!\n"; }
2.1.2 创建图形界面应用程序
➢使用Microsoft Visual stdio 中的任何一种语言都既可以开 发字符界面的控制台应用程序,也可以开发具有图形界面的 Windows应用程序。 ➢在使用Visual C++开发具有图形用户界面的Windows应用 程序可以采用以下三种方法之一。
unsigned int
WORD unsigned short
WPARAM unsigned int
说明
布尔值
16位字符指针 8位无符号整数 32位无符号整数,段地址和相关的 偏移地址
32位带符号整数 作为参数传递给窗口过程或回调函 数的32位值 指向字符串常量的32位指针 指向字符串的32位指针 指向未定义的类型的32位指针 32位无符号整数 16位无符号整数 当作参数传递给窗口过程或回调函 数的32位值
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章习题1.选择题(1)答案:D(2)答案:C(3)答案:B(4)答案:C(5)答案:D(6)答案:B(7)答案:B(8)答案:D(9)答案:B(10)答案:B(11)答案:C2.填空题(1)答案:广播、单播(2)答案:路由器(3)答案:FF-FF-FF-FF-FF-FF(4)答案:目的计算机、广播地址(5)答案:路255.255.255.255、0.0.0.0(6)答案:目的端口号(7)答案:操作系统通信(8)答案:路操作系统的核心、函数库(9)答案:流式套接字、数据报套接字3.简答题(1)什么是网络协议?说出协议的三要素及它们的含义。
答:网络协议,就是指通信双方在通信时所必须遵循的用于控制数据传输的规则、标准和约定,是通信双方所使用的“语言”,它规定了有关功能部件在通信过程中的操作,定义了数据发送和数据接收的过程。
网络协议包括三方面内容。
一是“语法”,主要是指数据以及控制信息的结构或格式;第二方面内容是“语义”,它是指对构成协议的协议元素含义的具体解释;第三方面是“同步”,同步也称为“时序”,它规定了通信过程中各种事件的先后顺序。
(2)画出以太网帧结构示意图,并简要叙述以太网帧中各字段的含义。
答:以太网帧结构如下图所示:其中,目的地址,指明要接收该帧的计算机的MAC地址。
如果是一个广播帧,即该帧是广播给网络中的所有计算机的,目的地址应指明为广播地址。
源地址字段,用于指明发送该帧的计算机的MAC地址。
通过源地址,收到该帧的计算机就会知道是哪台计算机发送了该帧。
类型字段主要用于指明接收端对数据部分的处理方式,也就是说,接收端收到数据后,如果经过检验没发现错误,帧中的数据应该交给哪个程序处理。
数据字段,也被称为用户数据,是网络真正要传送的内容,长度在46~1500个字节之间。
校验码是接收方用来检查数据在传输过程中是否出错的,也称为帧校验序列(FCS),由发送方根据帧的其他部分的内容使用某种算法计算得到。
(3)简述ISO的OSI/RM网路体系结构模型各层的功能。
答:OSI/RM模型将计算机网络按功能分为七个层次,从下到上依次为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
物理层的主要功能是,利用通信介质为需要直接通信的节点之间建立、维护和释放物理连接,实现二进制比特流的传输,进而为其上的数据链路层提供数据传输服务。
数据链路层的主要功能是在物理层提供的比特流传输服务基础上,以帧为单位,实现无差错数据传输,简单一点说就是在数据链路两端实现无差错数据传输。
网络层的功能是,在链路层提供的服务基础之上,通过中间节点的数据转发,实现任意两台计算机间的通信。
网络层以“分组”(packet)为数据传输单位,通过适当的路由选择,可以为网络上的任意两台计算机之间提供通信服务,并能实现拥塞控制和网络互联。
传输层直接为应用进程提供通信服务,传输层提供的这种“应用进程到应用进程”的数据传输服务通常被称为端到端(end-to-end)通信服务。
传输层为多个应用进程共用网络通信服务提供了支撑。
除此之外,传输层还可以在网络层提供的不可靠的数据报服务之上,通过采用可靠传输协议为应用进程提供可靠的数据通信服务。
会话层组织两个会话进程之间的通信,管理数据的交换。
表示层用于处理在两个通信系统中交换信息的表示方式,包括数据格式变换、数据加密与解密、数据压缩与恢复等。
应用层是体系结构中的最高层,其主要任务是通过网络应用进程间的通信来实现特定的网络应用,该层定义应用的总体框架以及进程间通信和交互的具体规则。
(4)简述路由器在收到一个IP分组后的处理过程。
答:①从收到的分组的首部提取目的IP地址D。
②对与路由器直接相连的子网(下一跳地址为“直接交付”的那些表项对应的网络),先用各网络的子网掩码和D逐位相“与”,看是否和相应的网络地址匹配。
若匹配,则将分组直接交付。
否则执行步骤③。
③若路由表中有目的地址为D的特定主机路由,则将分组传送给指明的下一跳路由器;否则,执行步骤④。
④对路由表中的其余的每一表项的子网掩码和D逐位相“与”,若其结果与某一项的目的网络地址匹配,则将分组传送给该项指明的下一跳路由器,若结果与多项都匹配,则选子网掩码最大的路由表项作为该分组的路由;若无匹配项,则执行步骤⑤。
⑤通过ICMP协议,向源主机报告转发分组出错。
(5)传输层协议如何区分同一主机上的不同应用进程?答:通过引入端口号来区分不同应用进程。
同一机器上的每个应用进程都被分配有一个端口号,发送方发送数据时,需要在报文首部填上目的进程的端口号,目的机器收到报文后,就可以根据报文中的目的端口号将数据交给目的进程。
(6)如何表示网络环境中的进程地址?答:(IP地址、传输层协议、端口号)(7)网络应用程序的结构模型主要有哪些?答:C/S模型、B/S模型、P2P模型。
(8)图1.20是从网上捕获的一个以太帧的80字节数据(16进制表示)。
第一列为每行数据第一字节的序号(从0开始,也是16进制表示的)。
图1.20捕获的某以太网帧的前128字节数据对照图1.2和图1.11完成以下各题:①写出该帧的目的MAC地址和源MAC地址。
②已知以太网帧的类型字段值为0800时,其数据部分为一个IP分组,由图1.20可以看到,捕获的该帧中的数据部分确实为一个IP分组。
请回答:该IP分组的源IP地址和目的IP地址格式多少?用点分十进制表示。
③已知IP分组首部中,协议字段的值为1时,对应的数据部分是ICMP报文;协议字段的值为2时,对应的数据部分是IGMP报文;协议字段的值为6时,对应的数据部分是TCP报文段;协议字段的值为17时,对应的数据部分是UDP数据报。
请根据图1.20所给数据回答,该IP分组的数据部分是ICMP报文、TCP报文段、UDP数据报还是其他?答:①目的MAC地址00-21-27-21-51-ee源MAC地址00-15-c5-c1-5e-28②源IP地址为:0a028064点分十进制表示为:10.2.128.100目的IP地址为:40aa6220点分十进制表示为:64.176.98.32③因为该分组的IP协议字段值为06,所以其数据部分是TCP报文段。
第2章习题1.选择题(1)答案:C(2)答案:D(3)答案:C(4)答案:D(5)答案:D(6)答案:C(7)答案:B(8)答案:B(9)答案:D(10)答案:A(11)答案:B(12)答案:A2.填空题(1)答案:窗口句柄(2)答案:Hello,C++(3)答案:UNICODE转换格式(UTF)(4)答案:AddString()、ResetConten()(5)答案:属性、CreateWindow()函数(6)答案:变量映射、控件类别、值类别3.简答题(1)在对话框窗口属性中Caption属性、Font属性以及Border属性各起什么作用?编写对话框应用程序时,如何让程序的主对话框窗口不显示右上角的最大化和最小化按钮?答:①Caption属性的值是对话框窗口标题栏显示的文字;Font属性用于设置对话框窗口中控件上显示的文字的字体、字形和字号;Border属性用于确定窗口的边框类型。
②若要对话框窗口不显示右上角的最大化和最小化按钮,应将Minimize box和Maximize box这两个属性值均设为False,均设置为true则是显示最大化和最小化按钮。
(2)请列举出ListBox控件的常用属性并说明其作用,要求不少于三个。
如何向ListBox空间中添加一个字符串?如何将一个单选ListBox控件中选中的列表项内容保存到一个CString对象中?答:①Selection属性,该属性有4个选项:Single,表示在给定的选项中,至多有一个被选中,此时列表框为单选列表框;Multiple,表示可以有多个选项被选中,但忽略Shift键和Ctrl键;Extended,允许选择多个选项,在选择时可以使用Shift键和Ctrl键;None,不允许选择任何选项。
Sort属性用于设置列表框内容应是否按字母顺序排序,缺省为True,表示列表内容按字母顺序自动排序。
Multi-column属性指定是否创建一个多列列表框,缺省值为False,即创建单列列表框。
②调用AddString()方法可向ListBox空间中添加一个字符串。
③设m_List是一个列表框控件变量,使用如下代码可将列表框中选中的列表项的内容保存到字符串对象str中:CString str;int i,n;n=m_List.GetCount();for(i=0;i<n;i++)if(m_List.GetSel(i)>0)break;m_List.GetText(i,str);(3)什么是DDX机制?对编辑框控件(Edit Control),除使用DDX实现变量与控件的数据交换外,能否调用其方法来实现数据交换?如果能的话,应该使用编辑框控件的哪两个方法?答:①通过某个控件输入的数据可以保存到对话框类的某个成员变量中,反过来,对话框类的某个成员变量的值也可以在对话框的某个控件上显示,这就是所谓控件与变量的数据交换,简称DDX。
控件与变量的数据交换是通过使用基于ID的变量映射来实现的。
所谓变量映射,就是利用“类向导”,将一个对话框类的成员变量通过控件的ID和控件进行关联(映射)。
与控件关联的变量通常都被称为“控件变量”。
②能。
③可使用成员函数SetWindowText()和GetWindowText()来改变或获取编辑框控件上的文字。
(4)当单击一个命令按钮时,系统会发送BN_CLICKED消息给窗口,窗口收到该消息后就调用相应的消息处理函数来响应这一事件。
消息处理函数是由编程者编写的一个窗口类的成员函数。
请问:消息是如何同消息处理函数关联起来的?答:消息是通过“消息映射’同消息处理函数关联起来的,实现消息映射的代码在添加消息处理函数时由“类向导”自动添加。
(5)在使用VC++编写图形界面的Windows应用程序时,MessageBox函数十分有用,请查阅资料,给出该函数的功能、使用格式以及各参数的取值类型及相应含义。
答:执行MessageBox()函数将显示一个模态对话框,该对话框一般包括一个系统图标、一组按钮和一个简短的文字信息。
函数返回一个整数值,该值代表用户单击了哪个按钮。
函数原型:int MessageBox(LPCTSTR lpszText,LPCTSTR lpszCaption=NULL,UINT nType=MB_OK);参数lpszText:指向一个字符串,该字符串是要显示的消息。
lpszCaption:指向一个字符串,该字符串是弹出窗口的标题。
返回值:是一个整数,代表用户单击了哪个按钮,具体如下表所示:4.编程题(1)提示:将编辑框中的字符串转换成double型,需要使用函数atof(),在使用MFC编程时可使用_tftof()代替。