📄 4.htm
字号:
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="JavaScript">
<!--
function MM_preloadImages() { //v2.0
if (document.images) {
var imgFiles = MM_preloadImages.arguments;
if (document.preloadArray==null) document.preloadArray = new Array();
var i = document.preloadArray.length;
with (document) for (var j=0; j<imgFiles.length; j++) if (imgFiles[j].charAt(0)!="#"){
preloadArray[i] = new Image;
preloadArray[i++].src = imgFiles[j];
} }
}
function MM_swapImgRestore() { //v2.0
if (document.MM_swapImgData != null)
for (var i=0; i<(document.MM_swapImgData.length-1); i+=2)
document.MM_swapImgData[i].src = document.MM_swapImgData[i+1];
}
function MM_swapImage() { //v2.0
var i,j=0,objStr,obj,swapArray=new Array,oldArray=document.MM_swapImgData;
for (i=0; i < (MM_swapImage.arguments.length-2); i+=3) {
objStr = MM_swapImage.arguments[(navigator.appName == 'Netscape')?i:i+1];
if ((objStr.indexOf('document.layers[')==0 && document.layers==null) ||
(objStr.indexOf('document.all[') ==0 && document.all ==null))
objStr = 'document'+objStr.substring(objStr.lastIndexOf('.'),objStr.length);
obj = eval(objStr);
if (obj != null) {
swapArray[j++] = obj;
swapArray[j++] = (oldArray==null || oldArray[j-1]!=obj)?obj.src:oldArray[j];
obj.src = MM_swapImage.arguments[i+2];
} }
document.MM_swapImgData = swapArray; //used for restore
}
//-->
</script>
<script language="VBScript">
<!--
Dim numa, numb, numc, numd
Public resflag, resultstr, ansnum, exwav(100), exwavnum, mins, secs
resultstr = ""
answerstr = ""
rightnum = 0
mins=minute(now)
secs=second(now)
numa = 1
numb = 1
numc = 5
numd = 0
Sub checkans(tnum)
dim answerstr
resflag = -1
answerstr = "正确答案:"
for i = 0 to ansnum - 1
if (tnum(i).Value = 1) then
answerstr = answerstr & chr(asc("A")+i)
if (tnum(i).checked) then
if resflag=-1 then resflag = 1
else
resflag=0
end if
else
if (tnum(i).checked) then resflag = 0
end If
next
tnum(ansnum).Value = answerstr
End Sub
-->
</script>
<link href="../css/page.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
body {
background-image: url(images/beijing.gif);
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
.style1 {font-size: 12px}
-->
</style>
</head>
<body bgcolor="#FFFFFF" bgproperties="fixed" class="font14" onLoad="MM_preloadImages('images/chuer/ball_off.gif','#931464069070');MM_preloadImages('images/chuer/ball_off.gif','#931464082530');MM_preloadImages('images/chuer/ball_off.gif','#931464095660');MM_preloadImages('images/chuer/ball_off.gif','#931464104880');MM_preloadImages('images/chuer/ball_off.gif','#931464114770');MM_preloadImages('images/chuer/ball_off.gif','#931464135860')">
<table border="0" cellpadding="0" cellspacing="0" width="100%" height="1504">
<tr>
<td valign="top" width="0%" height="1491">
<!-- This left bar table begin -->
<br>
<!-- This left bar table end-->
<!-- This navbar content begin -->
</td>
<td valign="top" width="100%" height="1491">
<!-- This is main text bar begin -->
<!-- this table is logo and title begin -->
<table width="100%" height="1436" border="0" cellpadding="0" cellspacing="0" class="unnamed1">
<tr>
<td width="1%"><IMG alt="" border=0 height=5 src="nv_space.gif" width=5 ></td>
<td width="99%" height="400" border = "0" alt>
<form method=POST name=examfrm>
<p align="center">全国计算机技术与软件专业技术资格(水平)考试<br>
全真模拟试卷(四)下午试题(考试时间14∶00~16∶30,共150分钟) <br>
本试卷共5道试题,满分75分。</p>
<p align="left"><span class="style1">● 试题一<br>
单位分得合法IP地址202.112.68.40 掩码为255.255.255.248,其中,路由器的外口和ISP之间占据了2个。 <br>
[问题1] <br>
若使用202.112.68.41和202.112.68.41,掩码为255.255.255.252,则可供使用的合法IP还有多少哪些?请写出。<br>
[问题2] <br>
使用内部IP进行地址转换,若用一台主机连接内外两个网络,请说出2中不同的网络接法;并进行比较?<br>
[问题3] <br>
Internet上保留了哪些内部IP可以供使用?</span><br>
<br>
<span class="title">
<textarea name="tba1" cols="75" rows="10" id="tba1"></textarea>
</span></p>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="1%" valign="top"> </td>
<td width="99%" valign="top"><span style="text-align:left;"><img src="images/anniu.gif" width="78" height="22" img style="CURSOR: hand" onClick=DisplayOrHidden(T1)></span>
<table width="96%" border="0">
<tr>
<td><p align=left class="style1" style='text-align:left;'><SPAN id=T1 style="BORDER-RIGHT: #ffffff 1px solid; BORDER-TOP: #ffffff 1px solid; DISPLAY: none; BORDER-LEFT: #ffffff 1px solid; COLOR: black; BORDER-BOTTOM: #ffffff 1px solid; FONT-FAMILY: 宋体">【答案】<br>
[问题1]<br>
还可用的有 202.112.68.44/29, 202.112.68.45/29 ,202.112.68.46/29<br>
[问题2]<br>
2种网络接法:(1)主机接一块网卡绑定两个不同子网的地址,运行代理软件,内部网络将网关设置指向该主机。 (2) 主机插2块网卡,分别连接内外网,主机起到网关和地址转换作用。 <br>
两种接法比较:(1)中方案若内网盗用主机合法IP可以绕过主机 (2)不能绕过主机。<br>
[问题3]<br>
可以使用10.0.0.0 或 172.16直172.31 或192.168.0 至192.168.255</span></td>
</tr>
</table></td>
</tr>
</table>
<p class="style1">● 试题二<br>
请阅读以下说明和Socket程序,将应填入 (n) 处的字句写在答题纸的对应栏内。<br>
【说明】<br>
网络应用的基本模型是客户机/服务器模型,这是一个不对称的编程模型,通信的双方扮演不同的角色:客户机和服务器。<br>
一般发起通信请求的应用程序称为客户软件,该应用程序通过与服务器进程建立连接,发送请求,然后等待服务器返回所请求的内容。服务器软件一般是指等待接收并处理客户机请求的应用程序,通常由系统执行,等待客户机请求,并且在接收到请求之后,根据请求的内容,向客户机返回合适的内容。<br>
本题中的程序较为简单,客户机接收用户在键盘上输入的文字内容,服务器将客户机发送来的文字内容直接返回给客户机,在通信过程中服务器方和客户机方都遵守的通信协议如下:<br>
由客户机首先发送请求,该请求由首部和内容两大部分组成,两个部分各占一行文字,通过行结束符“\n”隔离。<br>
首部只有一个Length域,用于指定请求的内容部分的长度,首部的结构为:“关键词Length”+“”+数值+“\n”。<br>
内容部分为一行文字,其长度必须与Length域的数值相符例如,客户机的请求为“Length 14\nHello,my baby!”,服务器接收请求处理后返回文字“Hello,my baby!”。<br>
【Socket程序】<br>
服务器主程序部分:<br>
#include<stdio.h><br>
……//引用头文件部分略><br>
#define SERVER_PORT 8080//服务器监听端口号为8080<br>
#define BACKLOG 5 /连接请求队列长度<br>
int main(int argc,char * argv[]){<br>
int listenfd,connfd//监听套接字、连接套接字描述符<br>
struct sockaddr_in servaddr;//服务器监听地址<br>
listenfd= (1) ;//创建用于监听的套接字<br>
if(listenfd<0){<br>
fprintf(stderr,"创建套接字错误!")<br>
exit(1);<br>
} //套接字创建失败时打印错误信息<br>
bzero(&servaddr.sizeof(servadd));//将地址结构置空<br>
servaddr.sin_family=AF_INET;//设置地址结构遵循TCP/IP协议<br>
servaddr.sin_addrs_addr=htonl. (2) ;//设置监听的IP地址为任意合法地址,并将该地址转换为网络字节顺序<br>
servaddr.sin_port= (3) ;//设置监听的端口,并转化为网络字节顺序<br>
if(bind (4) <0){<br>
fprintf(stderr,"绑定套接字与地址!");<br>
exit(1);<br>
}'//将监听地址与用于监听的套接字绑定,绑定失败时打印错误信息<br>
if(listen(listedfd,BACKLOG)<0){<br>
fprintf(stderr,转换套接字为监听套接字!");<br>
exit(1);<br>
}'//将用于监听的套接字由普通套接字转化为监听套接字<br>
for(;;){<br>
connfd= (5) ;<br>
//从监听套接字的连接队列中接收已经完成的连接,并创建新的连接套接字<br>
if(connfd<0){<br>
fprintf(stderr,"接收连接失败!");<br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -