文档库 最新最全的文档下载
当前位置:文档库 › 计算机网络原理实验三winsock套接字编程实验报告

计算机网络原理实验三winsock套接字编程实验报告

计算机网络原理实验三winsock套接字编程实验报告
计算机网络原理实验三winsock套接字编程实验报告

实验三、WINSOCK套接字编程实验报告

序号:姓名:刘易学号: 20101150040 成绩指导老师:

1.实验目的:

用C或JA V A语言编写客户端、服务器程序,实现基于TCP或UDP的网络通信数据传输服务,熟悉基于TCP或UDP的Socket编程原理。

2.实验环境:

建立在TCP/IP 网络体系结构之上计算机网络实验环境。各计算机除了安装TCP/IP 软件外,还安装了TCP/IP 开发系统。计算机具备Windows环境中套接字socket 的编程接口功能,可为用户提供全网范围的进程通信功能。

3.实验指导:

参见套接字编程实验指导

4.实验步骤

(1)运行指导书中给出的参考程序,分析实验结果,并回答问题(1)-(3)

(2)根据给定参考程序修改代码,完善修改服务器和客户端的功能。并回答问题(4)-(5)

5.实验结果分析

(1)为什么在服务器和客户端要包含winsock2.h文件?

(2)为什么在服务器和客户端程序中要加入#pragma comment(lib,"ws2_32.lib") 语句,如果不加会出现什么问题?

(3)为什么在服务器和客户端程序中要使用WSAStartup函数,如果不用,程序会有什么问题?

(4)修改后的程序完成实现了什么功能,附上修改后的源代码。(修改或填加的代码用波浪线标注,并填加注释),并附上实验截图

客户端改变的代码:

{ for(;;)

{

memset(buf, 0, 1024);

printf("Please input a line to server:");

scanf("%s",&buf);

rval = send(fd, buf, strlen(buf) + 1,0);

if(rval < 0)

printf("Write error!");

if((rval=recv(fd,buf,sizeof(buf),0)<0))

perror("reading stream message");

if(rval==0)

printf("server said :%s\n",buf);

}

服务器端修改的代码:

for(;;)

{

memset(buf, 0, sizeof(buf));

if ( (rval = recv(msgsock, buf, sizeof(buf),0) < 0))

perror("reading stream message");

if (rval == 0)

printf("client said :%s\n",buf);

printf("server-->");

scanf("%s",&buf);

rval=send(msgsock,buf,strlen(buf)+1,0);

}

}

(5)请详细说明此实验在设计及运行时遇到的问题和解决办法,及实验体会及建议。

6. 给出客户端和服务器端详细代码和注释。

客户端总体代码:

WSADATA wsaData;

int err = 0 ,rval = 0 ;

SOCKET fd;

struct sockaddr_in servaddr;

struct hostent* hp;

char buf[1024] = "";

wVersionRequested = MAKEWORD( 2, 2 );

err = WSAStartup( wVersionRequested, &wsaData );

if ( err != 0 )

return -1;

if ((fd = socket(AF_INET, SOCK_STREAM, 0)) < 0)

{

printf("Can not create socket!");

exit(2);

}

servaddr.sin_family = AF_INET;

servaddr.sin_port = htons(PORT);

hp = gethostbyname("169.254.65.108"); memcpy((char*)&servaddr.sin_addr, (char*)hp->h_addr,hp->h_length);

memset(servaddr.sin_zero, 0, sizeof(servaddr.sin_zero));

rval = connect(fd, (sockaddr*)&servaddr, sizeof(servaddr));

if (rval < 0)

printf("Can not create connect!");

exit(3);

}

else

{ for(;;)

{

memset(buf, 0, 1024);

printf("Please input a line to server:");

scanf("%s",&buf);

rval = send(fd, buf, strlen(buf) + 1,0);

if(rval < 0)

printf("Write error!");

if((rval=recv(fd,buf,sizeof(buf),0)<0))

perror("reading stream message");

if(rval==0)

printf("server said :%s\n",buf);

}

}

closesocket(fd);

exit(5);

}

服务器端总体代码:

int _tmain(int argc, _TCHAR* argv[])

{

SOCKET sock, msgsock;

int length = 0;

struct sockaddr_in server;

struct sockaddr tcpaddr;

char buf[1024] = "";

int rval= 0, len= 0, err = 0;

WORD wVersionRequested;

WSADATA wsaData;

wVersionRequested = MAKEWORD( 2, 2 );

err = WSAStartup( wVersionRequested, &wsaData );

if ( err != 0 )

return -1;

sock = socket(AF_INET, SOCK_STREAM, 0);

if (sock < 0)

{

perror("opening stream socket");

exit(1);

}

server.sin_family = AF_INET;

server.sin_port = htons(MYPORT);

server.sin_addr.s_addr = inet_addr(SERVER_IP_ADDR);

memset(server.sin_zero, 0, sizeof(server.sin_zero));

rval = bind(sock, (struct sockaddr *)&server, sizeof(server));

if (rval < 0)

{

perror("binding stream socket");

exit(1);

}

length = sizeof(server);

if (getsockname(sock, (struct sockaddr *)&server, &length) < 0) {

perror("getting socket name");

exit(1);

}

printf("socket port #%d\n", ntohs(server.sin_port));

listen(sock, 5);

len = sizeof(struct sockaddr);

do

{ msgsock = accept(sock, (struct sockaddr *)&tcpaddr, (int *)&len);

if (msgsock == -1)

perror("accept");

else

{

for(;;)

{

memset(buf, 0, sizeof(buf));

if ( (rval = recv(msgsock, buf, sizeof(buf),0) < 0))

perror("reading stream message");

if (rval == 0)

printf("client said :%s\n",buf);

printf("server-->");

scanf("%s",&buf);

rval=send(msgsock,buf,strlen(buf)+1,0);

}

}

closesocket(msgsock);

} while (TRUE);

closesocket(msgsock);

return 0;

}

机械原理习题及解答

机构的结构分析 2-1填充题及简答题 (1)平面运动副的最大约束数为,最小约束数为。 (2)平面机构中若引入一高副将带入个约束,而引入一个低副将带入个约束。 (3)机构具有确定运动的条件是什么? (4)何谓复合铰链、局部自由度和虚约束? (5)杆组具有什么特点?如何确定机构的级别?选择不同的原动件对机构级别有无影响? 答案: (1)平面运动副的最大约束数为2,最小约束数为1 (2)平面机构中若引入一高副将带入1个约束,而引入一个低副将带入2个约束。 (3)机构具有确定运动的条件是:机构的自由度大于零,且自由度数等于原动件数。 (4)复合铰链:在同一点形成两个以上的转动副,这一点为复合铰链。 局部自由度:某个构件的局部运动对输出构件的运动没有影响,这个局部运动的自由度叫局部自由度。 虚约束:起不到真正的约束作用,所引起的约束是虚的、假的。 (5)杆组是自由度为零、不可再拆的运动链。机构的级别是所含杆组的最高级别。选择不 同的原动件使得机构中所含杆组发生变化,可能会导致机构的级别发生变化。 2-2 计算下图机构的自由度,若含有复合铰链,局部自由度,虚约束等情况时必须一一指出, 图中BC、ED、FG分别平行且相等。要使机构有确定运动,请在图上标出原动件。 2-2答案:B点为复合铰链,滚子绕B点的转动为局部自由度,ED及其两个转动副引入虚 约束,I、J两个移动副只能算一个。

11826323=-?-?=--=h L p p n F 根据机构具有确定运动的条件,自由度数等于原动件数,故给凸轮为原动件。 2-3 题图2-3所示为一内燃机的机构简图,试计算其自由度,以AB 为原动件分析组成此机 构的基本杆组。又如在该机构中改选EF 为原动件,试问组成此机构的基本杆组是否与前有所不同,机构的级别怎样? 2-3答案:110273=?-?=F 。注意其中的C 、F 、D 、H点并不是复合铰链。 以AB 为原动件时: 此时,机构由三个Ⅱ级基本杆组与原动件、机架构成,机构的级别为二级。 以EF 为原动件时: 机构由1个Ⅱ级基本杆组,1个Ⅲ级基本杆组和机架组成。机构的级别为三级。显然,取不同构件为原动件,机构中所含的杆组发生了变化,此题中,机构的级别也发生了变化。 2-4 图示为一机构的初拟设计方案。试分析:

计算机组成原理实验报告

福建农林大学计算机与信息学院信息工程类实验报告系:计算机科学与技术专业:计算机科学与技术年级: 09级 姓名:张文绮学号: 091150022 实验课程:计算机组成原理 实验室号:___田405 实验设备号: 43 实验时间:2010.12.19 指导教师签字:成绩: 实验一算术逻辑运算实验 1.实验目的和要求 1. 熟悉简单运算器的数据传送通路; 2. 验证4位运算功能发生器功能(74LS181)的组合功能。 2.实验原理 实验中所用到的运算器数据通路如图1-1所示。其中运算器由两片74181

以并/串形式构成8位字长的ALU。运算器的输出经过一个三态门(74245)和数据总线相连,运算器的两个数据输入端分别由两个锁存器(74373)锁存,锁存器的输入连接至数据总线,数据开关INPUT DEVICE用来给出参与运算的数据,并经过一个三态门(74245)和数据总线相连,数据显示灯“BUS UNIT”已和数据总线相连,用来显示数据总线内容。 图1-2中已将用户需要连接的控制信号用圆圈标明(其他实验相同,不再说明),其中除T4为脉冲信号,其它均为电平信号。由于实验电路中的时序信号均已连至W/R UNIT的相应时序信号引出端,因此,在进行实验时,只需将W/R UNIT 的T4接至STATE UNIT的微动开关KK2的输出端,按动微动开关,即可获得实验所需的单脉冲,而S3,S2,S1,S0,Cn,LDDR1,LDDR2,ALU-B,SW-B各电平控制信号用SWITCH UNIT中的二进制数据开关来模拟,其中Cn,ALU-B,SW-B为低电平控制有效,LDDR1,LDDR2为高电平有效。 3.主要仪器设备(实验用的软硬件环境) ZYE1603B计算机组成原理教学实验系统一台,排线若干。 4.操作方法与实验步骤

计算机网络实验报告精编WORD版

计算机网络实验报告精 编W O R D版 IBM system office room 【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】

计算机网络实验报告实验时间:2018年5月16日 参加人员:袁志伟朱兴旺周瑞锦刘小旭 一、实验名称:VLAN划分与配置 了解vlan的作用,掌握在一台交换机上划分VLan的方法和跨交换机的VLan的配置方法,掌握Trunk端口的配置方法。理解三层交换的原理,熟悉Vlan接口的配置 二、实验内容 首先,在一台交换机上划分VLan,用ping命令测试在同一VLan和不同VLan中设备的连通性。然后,在交换机上配置Trunk端口,用ping命令测试在同一VLan和不同VLan中设备的连通性。最后,利用交换机的三层功能,实现Vlan间的路由,再次用ping命令测试其连通性。 三、实验步骤 实验组网架构

图二 Trunk 端口的配置组网图 E0/11 E0/1 E0/1 E0/11 E0/13 E0/1S1 S2 Vlan2 Vlan2 Vlan3 Vlan3 注:S1中vlan2包括端口e0/1 到e0/5,vlan3包括端口e0/7到e 0/11; 注:vlan2包括端口e0/1到e0/5,vlan3包括端口e0/7到e0/11 E0/1 E0/2 E0/10 E0/11 Vlan2 Vlan3 S1 PA PB

图三 VLan 间通信的配置组网图 实施步骤 1.Vlan 的基本配置 步骤1 按照组网图一连接好设备,为交换机划分Vlan 。参考配置命令如下: system [Quidway]VLan 2 [Quidway-vlan2]port e 0/1 e 0/2 e 0/3 e 0/4 e 0/5 [Quidway-vlan2]quit [Quidway]VLan 3 [Quidway-vlan3]port e 0/7 to e 0/11 E0/11 E0/1 E0/1 E0/11 E0/13 E0/1PCA PCB PCC PCD 网关: 网关: S1 Vlan2 Vlan3 注:S1中vlan2包括端口e0/1 到e0/5,vlan3包括端口e0/7到e 0/11; S2 网关: 网关: VLAN2: VLAN3:

计算机组成原理上机实验报告

《计算机组成原理实验》课程实验报告 实验题目组成原理上机实验 班级1237-小 姓名 学号 时间2014年5月 成绩

实验一基本运算器实验 1.实验目的 (1)了解运算器的组成原理 (2)掌握运算器的工作原理 2.实验内容 输入数据,根据运算器逻辑功能表1-1进行逻辑、移位、算术运算,将运算结果填入表1-2。 表 1-1运算器逻辑功能表 运算类 A B S3 S2 S1 S0 CN 结果 逻辑运算65 A7 0 0 0 0 X F=( 65 ) FC=( ) FZ=( ) 65 A7 0 0 0 1 X F=( A7 ) FC=( ) FZ=( ) 0 0 1 0 X F=( ) FC=( ) FZ=( ) 0 0 1 1 X F=( ) FC=( ) FZ=( ) 0 1 0 0 X F=( ) FC=( ) FZ=( ) 移位运算0 1 0 1 X F=( ) FC=( ) FZ=( ) 0 1 1 0 0 F=( ) FC=( ) FZ=( ) 1 F=( ) FC=( ) FZ=( ) 0 1 1 1 0 F=( ) FC=( ) FZ=( ) 1 F=( ) FC=( ) FZ=( ) 算术运算 1 0 0 0 X F=( ) FC=( ) FZ=( ) 1 0 0 1 X F=( ) FC=( ) FZ=( ) 1 0 1 0X F=( ) FC=( ) FZ=( ) 1 0 1 0X F=( ) FC=( ) FZ=( ) 1 0 1 1 X F=( ) FC=( ) FZ=( ) 1 1 0 0 X F=( ) FC=( ) FZ=( ) 1 1 0 1 X F=( ) FC=( ) FZ=( ) 表1-2运算结果表

编译原理实验报告

编译原理实验报告 班级 姓名: 学号: 自我评定:

实验一词法分析程序实现 一、实验目的与要求 通过编写和调试一个词法分析程序,掌握在对程序设计语言的源程序进行扫描的过程中,将字符形式的源程序流转化为一个由各类单词符号组成的流的词法分析方法。 二、实验内容 根据教学要求并结合学生自己的兴趣和具体情况,从具有代表性的高级程序设计语言的各类典型单词中,选取一个适当大小的子集。例如,可以完成无符号常数这一类典型单词的识别后,再完成一个尽可能兼顾到各种常数、关键字、标识符和各种运算符的扫描器的设计和实现。 输入:由符合或不符合所规定的单词类别结构的各类单词组成的源程序。 输出:把单词的字符形式的表示翻译成编译器的内部表示,即确定单词串的输出形式。例如,所输出的每一单词均按形如(CLASS,VALUE)的二元式编码。对于变量和常数,CLASS字段为相应的类别码;VALUE字段则是该标识符、常数的具体值或在其符号表中登记项的序号(要求在变量名表登记项中存放该标识符的字符串;常数表登记项中则存放该常数的二进制形式)。对于关键字和运算符,采用一词一类的编码形式;由于采用一词一类的编码方式,所以仅需在二元式的CLASS字段上放置相应的单词的类别码,VALUE字段则为“空”。另外,为便于查看由词法分析程序所输出的单词串,要求在CLASS字段上放置单词类别的助记符。 三、实现方法与环境 词法分析是编译程序的第一个处理阶段,可以通过两种途径来构造词法分析程序。其一是根据对语言中各类单词的某种描述或定义(如BNF),用手工的方式(例如可用C语言)构造词法分析程序。一般地,可以根据文法或状态转换图构造相应的状态矩阵,该状态矩阵同控制程序便组成了编译器的词法分析程序;也可以根据文法或状态转换图直接编写词法分析程序。构造词法分析程序的另外一种途径是所谓的词法分析程序的自动生成,即首先用正规式对语言中的各类单词符号进行词型描述,并分别指出在识别单词时,词法分析程序所应进行的语义处理工作,然后由一个所谓词法分析程序的构造程序对上述信息进行加工。如美国BELL实验室研制的LEX就是一个被广泛使用的词法分析程序的自动生成工具。 总的来说,开发一种新语言时,由于它的单词符号在不停地修改,采用LEX等工具生成的词法分析程序比较易于修改和维护。一旦一种语言确定了,则采用手工编写词法分析程序效率更高。 四、实验设计 1)题目1:试用手工编码方式构造识别以下给定单词的某一语言的词法分析程序。 语言中具有的单词包括五个有代表性的关键字begin、end、if、then、else;标识符;整型常数;六种关系运算符;一个赋值符和四个算术运算符。参考实现方法简述如下。 单词的分类:构造上述语言中的各类单词符号及其分类码表。 表I 语言中的各类单词符号及其分类码表 单词符号类别编码类别码的助记符单词值

计算机网络实验三参考答案

1. What is the IP address and TCP port number used by the client computer (source) that is transferring the file to https://www.wendangku.net/doc/2c14711606.html,? To answer this questio n, it’s probably easiest to select an HTTP message and explore the details of the TCP packet used to carry this HTTP message, using the “details of the selected packet header window” (refer to Figure 2 in the “Getting Started with Wireshark” Lab if you’re uncertain about the Wireshark windows). Ans: IP address:192.168.1.102 TCP port:1161 2. What is the IP address of https://www.wendangku.net/doc/2c14711606.html,? On what port number is it sending and receiving TCP segments for this connection? Ans: IP address:128.119.245.12 TCP port:80 If you have been able to create your own trace, answer the following question: 3. What is the IP address and TCP port number used by your client computer (source) to transfer the file to https://www.wendangku.net/doc/2c14711606.html,? ANS: IP address :10.211.55.7 TCP port:49265 4. What is the sequence number of the TCP SYN segment that is used to initiate the TCP connection between the client computer and https://www.wendangku.net/doc/2c14711606.html,? What is it in the segment that identifies the segment as a SYN segment? ANS: sequence number: 0 Syn Set = 1 identifies the segment as a SYN segment

计算机原理与汇编语言—实验报告1,2,3

实验1: 循环接收用户按键输入,将用户输入的大字母原样输出,将用户输入的小写字母转换为小写字母再输出,用户若输入数字0则退出程序,其它情况输出“error!” 实验程序代码 str db 'error!$' data ends stack segment para stack 'stack' db 100 dup(?) stack ends code segment assume ds:data,cs:code,ss:stack start:mov ax,data mov ds,ax again:mov ah,01h int 21h cmp al,'0' je next cmp al,'A' jb error ;小于A的出错 cmp al,'Z' jbe print1 ;在A,Z之间的输出print1 cmp al,'a' jb error ;在Z(41hH)和a(61H)之间的出错 cmp al,'z' jbe print2 ;在a,z之间的输出print2 jmp error print1: mov dl,al mov ah,02h int 21h jmp again ;循环输入,again print2:mov dl,al sub dl,20h mov ah,02h

int 21h jmp again ;循环输入,again error :mov dx,offset str mov ah,09h int 21h next:mov ah,4ch int 21h code ends end start 实验截图 实验总结 实践。 第一次真实的体会到汇编语言的特点,以及和C++语言的区别。 实验2: 从键盘接收用户输入的一个正整数(0-32767之间),输出该数字的所有因子。

机械原理实验报告

机械原理实验指导 实验一 机构运动简图的测绘 一、 实验目的 1.掌握根据各种机构实物或模型绘制机构运动简图的方法; 2.验证机构自由度的计算公式; 3.分析某些四杆机构的演化过程。 二、 实验设备和工具 1.各类机构的模型和实物; 2.钢板尺、量角器、内外卡钳等; 3.三角尺、铅笔、橡皮、草稿纸等(自备)。 三、 实验原理 由于机构的运动仅与机构中构件的数目和构件所组成的运动副数目、类型和相对位置有关。因此,可以撇开构件的实际外形和运动副的具体构造,用简单的线条来表示构件,用规定的或惯用的符号来表示运动副,并按一定的比例画出运动副的相对位置,这种简单的图形即为机构运动简图。 四、 实验步骤 1.使被测机构缓慢运动,从原动件开始,循着传动路线观察机构的运动,分清各个运动单元,确定组成机构的构件数目; 2.根据直接相联接两构件的接触情况及相对运动性质,确定运动副的种类; 3.选择能清楚表达各构件相互关系的投影面,从原动件开始,按传动路线用规定的符号,以目测的比例画出机构运动示意图,再仔细测量与机构有关的尺寸,按确定的比例再画出机构运动简图,用数字1、2、3……分别标注各构件,用字母A 、B 、C ……分别标注各运动副; 比例尺) (构件在图纸上的长度 ) (构件实际长度mm AB cm L AB L = μ 4.分析机构运动的确定性,计算机构运动的自由度。

五、思考题 1.一张正确的机构运动简图应包括哪些内容? 2.绘制机构运动简图时,原动件的位置能否任意选择?是否会影响简图的正确性? 3.机构自由度的计算对测绘机构运动简图有何帮助? 六、实验报告

实验二 渐开线齿轮的范成原理 一、 实验目的 1.掌握用范成法加工渐开线齿轮齿廓曲线的原理; 2.了解齿廓产生根切现象的原因及避免根切的方法; 3.了解刀具径向变位对齿轮的齿形和几何尺寸的影响。 二、 实验设备和工具 1.齿轮范成仪; 2.剪刀、绘图仪; 3.圆规、三角尺、两种颜色的铅笔或圆珠笔(自备)。 三、 实验原理 范成法是利用齿轮啮合时其共轭齿廓互为包络线的原理来加工齿轮的一种方法。加工时,其中一轮为刀具,另一轮为轮坯。他们之间保持固定的角速度比传动,好象一对真正的齿轮啮合传动一样,同时刀具还沿轮坯的轴向作切削运动,这样制得的齿轮齿廓就是刀具的刀刃在各个位置的包络线。为了能清楚地看到包络线的形成,我们用范成仪来模拟实现齿轮轮坯与刀具间的传动“切削”过程。 齿轮范成仪构造如图2——1所示,半圆盘2绕固定于机架上的轴心转动,在圆盘的周缘刻有凹槽,凹槽内嵌有两条钢丝3,钢丝绕在凹槽内,其中心线形成的圆相当于被加工齿轮的分度圆。两条钢丝的一端固定在圆盘2上的B 、B ‘ 点,另一端固定在拖板4的A 、A ’ 点,拖板可水平方向移动,这与被加工齿轮相对齿条刀具的运动方向相同。 在拖板4上还装有带有刀具的小拖板5,转动螺钉7可以调节刀具中线至轮坯中心的距离。 齿轮范成仪中,已知基本参数为: 1. 齿条刀具:压力角0 20=α,模数mm m 25=, 齿顶高系数0.1* =a h ,径向间隙系数25.0* =C 2. 被加工齿轮:分度圆直径mm d 200= 四、 实验步骤 1.根据已知基本参数分别计算被加工齿轮的基圆直径d b 、最小变位系数x min ,标准齿轮和变位齿轮的齿顶圆直径d a1和d a2、齿根圆直径d f1和d f2,将上述六个圆

计算机网络实验报告 答案.

计算机网络实验报告 专业计算机科学与技术 班级计102 学号109074057 姓名王徽军 组号一组D 指导教师毛绪纹 安徽工业大学计算机学院 二○一二年十二月

目录 实验总体说明 (3) 实验一以太网帧的构成 (3) 实验三路由信息协议RIP (8) 实验四传输控制协议TCP (10) 实验五邮件协议SMTP、POP3、IMAP (12) 实验六超文本传输协议HTTP (14)

实验总体说明 1.实验总体目标 配合计算机网络课程的教学,加强学生对计算机网络知识(TCP/IP协议)的深刻理解,培养学生的实际操作能力。 2.实验环境 计算机网络协议仿真实验室: 实验环境:网络协议仿真教学系统(通用版)一套 硬件设备:服务器,中心控制设备,组控设备,PC机若干台 操作系统:Windows 2003服务器版 3.实验总体要求 ●按照各项实验内容做实验,记录各种数据包信息,包括操作、观察、记录、分析, 通过操作和观察获得直观印象,从获得的数据中分析网络协议的工作原理; ●每项实验均提交实验报告,实验报告的内容可参照实验的具体要求,但总体上应包 括以下内容:实验准备情况,实验记录,实验结果分析,算法描述,程序段,实验过程中遇到的问题以及对思考问题的解答等,实验目的、实验原理、实验步骤不需要写入实验报告中。 实验一以太网帧的构成 实验时间:_____________ 成绩:________________ 实验角色:_____________ 同组者姓名:______________________________

练习一:领略真实的MAC帧 q....U 00000010: 85 48 D2 78 62 13 47 24 58 25 00 00 00 00 00 00 .H襵b.G$X%...... 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 ............ 练习二:理解MAC地址的作用 ●记录实验结果 表1-3实验结果 本机MAC地址源MAC地址目的MAC地址是否收到,为什么 主机B 8C89A5-7570BB 8C89A5-757113 8C89A5-7570C1 是,主机A与主机B接在同一共享模块 主机D 8C89A5-771A47 8C89A5-757113 8C89A5-7570C1 是,主机C与主机D接在同一共享模块 主机E 8C89A5-757110 无无否,与主机A、C都不在同一共享模块 主机 F 8C89A5-7715F8 无无否,与主机A、C都不在同一共享模块 练习三:编辑并发送MAC广播帧 ●结合练习三的实验结果,简述FFFFFF-FFFFFF作为目的MAC地址的作用。 答:该地址为广播地址,作用是完成一对多的通信方式,即一个数据帧可发送给同一网段内的所有节点。 练习四:编辑并发送LLC帧 ●实验结果 帧类型发送序号N(S)接受序号N(R) LLC 001F 0 ●简述“类型和长度”字段的两种含义 答:一是如果字段的值小于1518,它就是长度字段,用于定义下面数据字段的长度;二是如果字段的值大于1536,用于定义一个封装在帧中的PDU分组的类型。 思考问题: 1.为什么IEEE802标准将数据链路层分割为MAC子层和LLC子层? 答:出于厂商们在商业上的激烈竞争,IEEE的802委员会未能形成一个统一的、最佳的局域网标准,而是被迫制定了几个不同标准,如802.4令牌总线网、802.5令牌环网等。为了使数据链路层能更好地适应多种局域网标准,802委员会就将局域网的数据链路层拆成两个子层,即逻辑链路控制

编译原理实验报告总结

学年第学期《编译原理》实验报告 学院(系):计算机科学与工程学院 班级:11303070A 学号:11303070*** 姓名:无名氏 指导教师:保密式 时间:2016 年7 月

目录 1.实验目的 (1) 2.实验内容及要求 (1) 3.实验方案设计 (1) 3.1 编译系统原理介绍 (1) 3.1.1 编译程序介绍 (2) 3.1.2 对所写编译程序的源语言的描述 (2) 3.2 词法分析程序的设计 (3) 3.3 语法分析程序设计 (4) 3.4 语义分析和中间代码生成程序的设计 (4) 4. 结果及测试分析 (4) 4.1软件运行环境及限制 (4) 4.2测试数据说明 (5) 4.3运行结果及功能说明 (5) 5.总结及心得体会 (7)

1.实验目的 根据Sample语言或者自定义的某种语言,设计该语言的编译前端。包括词法分析,语法分析、语义分析及中间代码生成部分。 2.实验内容及要求 (1)词法分析器 输入源程序,输出对应的token表,符号表和词法错误信息。按规则拼单词,并转换成二元形式;滤掉空白符,跳过注释、换行符及一些无用的符号;进行行列计数,用于指出出错的行列号,并复制出错部分;列表打印源程序;发现并定位词法错误; (2)语法分析器 输入token串,通过语法分析,寻找其中的语法错误。要求能实现Sample 语言或自定义语言中几种最常见的、基本的语法单位的分析:算术表达式、布尔表达式、赋值语句、if语句、for语句、while语句、do while语句等。 (3)语义分析和中间代码生成 输入token串,进行语义分析,修改符号表,寻找其中的语义错误,并生 成中间代码。要求能实现Sample语言或自定义语言中几种最常见的、基本的语法单位的分析:算术表达式、布尔表达式、赋值语句、if语句、for语句、while 语句、do while语句等。 实验要求:功能相对完善,有输入、输出描述,有测试数据,并介绍不足。3.实验方案设计 3.1 编译系统原理介绍 编译器逐行扫描高级语言程序源程序,编译的过程如下: (1).词法分析 识别关键字、字面量、标识符(变量名、数据名)、运算符、注释行(给人看的,一般不处理)、特殊符号(续行、语句结束、数组)等六类符号,分别归类等待处理。 (2).语法分析 一个语句看作一串记号(Token)流,由语法分析器进行处理。按照语言的文法检查判定是否是合乎语法的句子。如果是合法句子就以内部格式保存,否则报错。直至检查完整个程序。 (3).语义分析 语义分析器对各句子的语法做检查:运算符两边类型是否相兼容;该做哪些类型转换(例如,实数向整数赋值要"取整");控制转移是否到不该去的地方;是

计算机网络实验报告89340

计算机专业类课程 实 验 报 告 课程名称:计算机网络 学院:计算机科学与工程 专业:计算机科学与技术 学生:ZYZ 学号:26 指导教师:FB 日期:2016年06月10日

目录 实验一 (3) 实验二 (7) 实验三 (12) 实验四 (17) 实验五 (21)

电子科技大学 实验报告 实验一 一、实验名称:交换机和路由器的基本配置 二、实验学时:4 三、实验容和目的: 理解和掌握交换机和路由器的工作原理;掌握交换机和路由器命令行各种操作模式的区别;能够使用各种帮助信息,以及用命令进行基本的配置。 假设是某公司新进的网管,公司要求你熟悉网络产品。 首先要求你登录交换机或路由器,了解并掌握交换机和路由器的命令行操作,以及如何使用一些基本命令对设备进行配置,包括交换机和路由器的设备名、登录时的描述信息、端口参数的基本配置,以及设备运行状态的查看。 四、实验原理: 交换机和路由器的管理方式基本分为两种:带管理和带外管理。 交换机或路由器的命令行操作模式,主要包括:用户模式、特权模式、全局配置模式、端口模式等几种。 交换机或路由器的基本操作命令包括Exit、End、Show version、Show mac-address-table、Show ip route、Show running-config。 以创建两种类型的标题:每日通知和登录标题。 五、实验器材(设备、元器件) 三层交换机1台、路由器1台、计算机1台。 六、实验步骤:

交换机的配置 第一步:交换机各个操作模式直接的切换 Swtich>enable Swtich#configure terminal !使用enable命令从用户模式进入特权模式,再从特权模式进入全局配置模式第二步:交换机命令行界面基本功能 第三步:配置交换机的名称和每日提示信息 第四步:配置接口状态 第五步:查看交换机的系统和配置信息 第六步:保存配置 路由器的配置 第一步:路由器各个操作模式直接的切换 第二步:路由器命令行界面基本功能 第三步:配置路由器的名称和每日提示信息 第四步:配置接口状态 第五步:配置路由器的接口并查看接口配置 第六步:显示路由表的信息 七、实验数据及结果分析: (1)交换机的配置文件容,即show running-config 的结果

机械原理实验思考题参考

《机构测绘、分析及设计》实验思考题参考答案 1.一个正确的“机构运动简图”应能说明哪些内容? 机构运动简图应着重表达机构各构件间的相对运动关系,应包括原动件的运动规律、机构中所有构件和运动副的类型、数目及其相对位置(即转动副的中心位置、移动副的中心线位置和高副接触点的位置),而与构件的外形、断面尺寸、组成构件的零件数目及其固联方式和运动副的具体结构无关。因此绘制机构运动简图可以撇开构件的复杂外形和运动副的具体构造,用简单的线条和规定的符号代表构件和运动副,并按比例定出各运动副的相对位置。 2.根据所装配的曲柄滑块机构,分析此机构中曲柄存在条件是什么?连杆长度与机构传力性能之间有什么关联? 曲柄滑块机构中曲柄存在条件是: L AB +e<=L BC 连杆长度越长则机构传力性能越好,因为连杆越长则压力角越小。 3.牛头刨六杆机构中滑杆的行程长度如何调整?调整曲柄长度 4.曲柄滑块机构、曲柄摇块机构、摆动导杆机构之间的演化关系如何?举例说明机构演化的方法有哪些? 铰链四杆机构可以通过四种方式演化出其它形式的四杆机构。即①取不同构件为机架;②转动副变移动副;③杆状构件与块状构件互换;④销钉扩大。 曲柄滑块机构曲柄摇块机构摆动导杆机构

曲柄滑块机构、曲柄摇块机构、摆动导杆机构之间通过取不同构件为机架来演化。 对心曲柄滑块机构偏心轮滑块机构 牛头刨六杆机构正弦机 构曲柄摇杆机构 《平面机构特性分析》实验思考题参考答案 1、铰链四杆机构(L1=50 mm,L2=100 mm,L3=80 mm)中,通过改变机架长度可得到何种机构? 设四杆机构中机架L4<=50,L4=L min,则由曲柄存在条件:最短杆与最长杆的长度之和必须小于或等于其余二杆的长度之和(L max+L min<=L2+L3)可得: 100+L4<=50+80 即0=100,L4=L max,则由曲柄存在条件:最短杆与最长杆的长度之和必须小于或等于其余二杆的长度之和(L max+L min<=L2+L3)可得:

编 译 原 理 实 验 报 告

编译原理实验报告 课程:编译原理 系别:计算机系 班级:11网络 姓名:王佳明 学号:110912049 教师:刘老师 实验小组:第二组 1

实验一熟悉C程序开发环境、进行简单程序的调试 实验目的: 1、初步了解vc++6.0环境; 2、熟悉掌握调试c程序的步骤: 实验内容: 1、输入下列程序,练习Turbo C 程序的编辑、编译、运行。 #include main() { printf(“Programming is fun.\n”); } 2、分析程序,预测其运行结果,并上机检测你的预测。 #include main() { printf(“*\n”); printf(“* * *\n”); printf(“* * * * *\n”); printf(“* * * * * * *\n”); } 3、下面是一个加法程序,程序运行时等待用户从键盘输入两个整数,然后求出它们的和并输出。观察运行结果(程序输出),上机验证该程序。 #include main() { int a,b,c; printf(“Please input a,b:”); scanf(“%d,%d”,&a,&b); c=a+b; printf(“%d+%d=%d\n”,a,b,c); } 2

实验二词法分析器 一、实验目的: 设计、编制、调试一个词法分析子程序-识别单词,加深对词法分析原理的理解。 二、实验要求: 1.对给定的程序通过词法分析器弄够识别一个个单词符号,并以二元式(单词种别码,单词符号的属性值)显示。而本程序则是通过对给定路径的文件的分析后以单词符号和文字提示显示。 2.本程序自行规定: (1)关键字"begin","end","if","then","else","while","write","read", "do", "call","const","char","until","procedure","repeat" (2)运算符:"+","-","*","/","=" (3)界符:"{","}","[","]",";",",",".","(",")",":" (4)其他标记如字符串,表示以字母开头的标识符。 (5)空格、回车、换行符跳过。 在屏幕上显示如下: ( 1 , 无符号整数) ( begin , 关键字) ( if , 关键字) ( +, 运算符) ( ;, 界符) ( a , 普通标识符) 三、使用环境: Windows下的visual c++6.0; 四、调试程序: 1.举例说明文件位置:f:、、11.txt目标程序如下: begin x:=9 if x>0 then x:=x+1; while a:=0 do 3

计算机网络实验报告3

计算机网络实验报告3 报告课程名称计算机网络实验项目实验三 传输控制协议TCP 实验仪器网络协议仿真教学系统系别计算机学院专业班级/学号学生姓名实验日期成绩 _______________________ 指导教师实验报告课程名称计算机网络实验项目实验三 传输控制协议TCP 实验仪器网络协议仿真教学系统系别计算机系专业班级/学号学生姓名实验日期成绩 _______________________ 指导教师高卓实验三 传输控制协议TCP 一、实验目的: 1、掌握TCP协议的报文格式 2、掌握TCP连接的建立和释放过程 3、掌握TCP数据传输中编号与确认的过程 4、掌握TCP协议校验和的计算方法 5、理解TCP重传机制 二、实验原理:一、 TCP报文格式16位源端口号16位目的端口号32位序号32位确认序号4位首部长度保留(6位)URGACKPSHRSTSYNFIN16位窗口大小16位校验和16位紧急指针选项数据二、 TCP连接的建立TCP是面向连接的协议。

在面向连接的环境中,开始传输数据之前,在两个终端之间必须先建立一个连接。对于一个要建立的连接,通信双方必须用彼此的初始化序列号seq和来自对方成功传输确认的应答号ack (指明希望收到的下一个八位组的编号)来同步,习惯上将同步信号写为SYN,应答信号写为ACK。整个同步的过程称为三次握手,如图: 3、 TCP连接的释放对于一个已经建立的连接,TCP使用四次握手来结束通话(使用一个带有FIN附加标记的报文段)。 如图:四、 TCP重传机制TCP每发送一个报文段,就对这个报文段设置一次计时器。只要计时器设置的重传时间到期,但还没有收到确认,就要重传这一报文段。 三、实验环境配置:该实验采用网络结构图。说明:IP地址分配规则为主机使用原有IP,保证所有主机在同一网段内。 四、实验内容:按照拓扑结构图连接网络,使用拓扑验证检查连接的正确性。练习一:察看TCP连接的建立和释放 1、主机 B、 C、D启动协议分析器进行数据捕获,并设置过滤条件(提取TCP协议)。 2、主机C打开TCP工具,类型选择“服务器”,端口填写大于1024的值;点击“创建”,如果端口被占用则选择其它。主机A打开TCP工具,类型选择“客户端”,地址填入主机C的IP地

编译原理实验报告一

实验一词法分析程序实现 一、实验目得与要求 通过编写与调试一个词法分析程序,掌握在对程序设计语言得源程序进行扫描得过程中,将字符流形式得源程序转化为一个由各类单词符号组成得流得词法分析方法 二、实验内容 基本实验题目:若某一程序设计语言中得单词包括五个关键字begin、end、if、then、else;标识符;无符号常数;六种关系运算符;一个赋值符与四个算术运算符,试构造能识别这些单词得词法分析程序(各类单词得分类码参见表I)。 表I语言中得各类单词符号及其分类码表 输入:由符合与不符合所规定得单词类别结构得各类单词组成得源程序文件。 输出:把所识别出得每一单词均按形如(CLASS,VALUE)得二元式形式输出,并将结果放到某个文件中。对于标识符与无符号常数,CLASS字段为相应得类别码得助记符;V AL UE字段则就是该标识符、常数得具体值;对于关键字与运算符,采用一词一类得编码形式,仅需在二元式得CLASS字段上放置相应单词得类别码得助记符,V ALUE字段则为“空". 三、实现方法与环境 词法分析就是编译程序得第一个处理阶段,可以通过两种途径来构造词法分析程序.其一就是根据对语言中各类单词得某种描述或定义(如BNF),用手工得方式(例如可用C语言)构造词法分析程序。一般地,可以根据文法或状态转换图构造相应得状态矩阵,该状态矩阵连同控制程序一起便组成了编译器得词法分析程序;也可以根据文法或状态转换图直接编写词法分析程序。构造词法分析程序得另外一种途径就是所谓得词法分析程序得自动生成,即首先用正规式对语言中得各类单词符号进行词型描述,并分别指出在识别单词时,词法分析程

计算机网络实验报告

农林大学计算机与信息学院 信息工程类 实验报告 课程名称:计算机网络 姓名: 系:计算机科学与技术系 专业:计算机科学与技术 年级:2011级 学号: 指导教师:周术成老师 职称: 2014年 5 月 4 日

农林大学计算机与信息学院实验报告 系:计算机与信息系专业:计算机科学与技术年级:2011 :学号:实验课程:_ 计算机网络 实验室号____田C-305__ 计算机号:实验时间: 指导教师签字:成绩: 实验一以太网组网实验 1.实验目的和要求 1.熟悉局域网所使用的基本设备 2. 掌握以太网组建方法 3. 掌握网络连通性测试方法 2.实验原理 以太网事实上是一簇局域网技术,不同的以太网在链路层帧头的格式、电缆的类型和传输速度上有很大的差异以太网可以利用同轴电缆、双绞线、光缆等不同的传输介质进行组网,也可以运行10Mb/s、100Mb/s、1000Mb/s 的网络速度。不管采用何种传输介质,以及网络速度各不相同,只要是以太网,采用的都是CSMA/CD介质访问控制方法。即任何结点没有可预约的发送时间,所有结点平等地争用发送时间,并随机地发送数据。 组建局域网常用的传输介质为双绞线,作为10BASE-T 和100BASE-TX 以太网的传输介质,非屏蔽双绞线在组网中起着重要的作用。非屏蔽双绞线UTP 中的8 芯导线采用了不同的颜色,分成4 对,其中橙和橙白一对,绿和绿白一对,蓝和蓝白一对,棕和棕白一对。以太网使用的UTP 分为直通UTP 和交叉UTP。 UTP 双绞线有两种接法:T568A 标准和T568B 标准。 直通UTP:线的两头都按T568B 线序标准连接。 交叉UTP:线的一头按T568A 线序连接,另一头按T568B 线序连接。 组装不同类型的局域网需要不同的设备,10Base-T 和100Base-TX 组网所需要的设备有:UTP 电缆、以太网卡、10M/100M 集线器、以太网交换机等。现在的以太网在逻辑上采用星型拓扑结构,用这种拓扑结 构,每台计算机用电缆线连接到共享网络设备上,如集线器和交换机等。 集线器和交换机都是用以太网接口连接多台设备,然而,它们在实现上有很大不同。集线器是第1 层设备,是以太网的集中连接点,具有信号放大功能,扩大以太网的地理围。通常采用RJ-45 接口,计算 机或其他终端设备通过双绞线电缆与集线器相连。当数据到达集线器的一个端口后,集线器不进行过滤处 理,直接将收到的数据包复制并广播到所有其他的端口,而不管这些端口连接的设备是否需要这些数据。 因此,网络中集线器数量越多,整个网络的性能就越差。 一般以太网的拓扑既用到集线器也用到交换机,集线器连接到交换机端口上,计算机连接到集线器上。在这种配置里,连接在同一集线器的计算机能看到彼此传输的数据,并且一次只能有一个传输;但在

机械原理实验报告大全

机械原理实验项目 机械原理课程实验(一) 机械传动性能测试实验 一、实验目的 (1) 通过测试常见机械传动装置(如带传动、链传动、齿轮传动、蜗杆传动等)在传递运动与动力过程中的速度、转矩、传动比、功率及机械效率等,加深对常见机械传动性能的认识与理解。 (2) 通过测试由常见机械传动组成的不同传动系统的机械参数,掌握机械传动合理布置的基本要求。 (3) 通过实验认识机械传动性能综合实验台的工作原理、提高计算机辅助实验能力。 二、实验设备 机械传动性能测试综合实验台。 三、实验内容 机械传动性能测试是一项基于基本传动单元自由组装、利用传感器获取相关信息、采用工控机控制实验对象的综合性实验。它可以测量用户自行组装的机械传动装置中的速度、转矩、传动比、功率与机械效率,具有数据采集与处理、输出结果数据与曲线等功能。 机械传动性能测试实验台的逻辑框图 变频 电机 ZJ 扭矩 传感器 ZJ 扭矩 传感器 工作载荷 扭矩测量卡 转速调节 机械传动装置 负载调节 工控机 扭矩测量卡

机械原理课程实验(二) 慧鱼机器人设计实验 一、实验目的 1)通过对慧鱼机器人、机电产品的系统运动方案的组装设计,培养学生独立确定系统运动方案设计与选型的能力。 2)利用“慧鱼模型”组装机器人模型,探索机器人各个功能的实现方法,进行机电一体化方面的训练。 二、实验设备 1)慧鱼创意组合模型包; 2)计算机一台; 3)可编程控制器、智能接口板; 4)控制软件。 三、实验内容 “慧鱼创意组合模型”是工程技术型模型,能够实现对工程技术以及机器人技术等的模拟仿真。模型是由各种可以相互拼接的零件所组成,由于模型充分体现了各种结构、动力、控制的组成因素,并设计了相应的模块,因此,可以拼装成各种各样的机器人模型,可以用于检验学生的机械结构和机械创新设计与控制的合理可行性。 慧鱼机器人实验二室 自动步行车 学生创新实验

编译原理实验报告

《编译原理》实验报告软件131 陈万全132852

一、需求分析 通过对一个常用高级程序设计语言的简单语言子集编译系统中词法分析、语法分析、语义处理模块的设计、开发,掌握实际编译系统的核心结构、工作流程及其实现技术,获得分析、设计、实现编译程序等方面的实际操作能力,增强设计、编写和调试程序的能力。 通过开源编译器分析、编译过程可视化等扩展实验,促进学生增强复杂系统分析、设计和实现能力,鼓励学生创新意识和能力。 1、词法分析程序设计与实现 假定一种高级程序设计语言中的单词主要包括五个关键字begin、end、if、then、else;标识符;无符号常数;六种关系运算符;一个赋值符和四个算术运算符,试构造能识别这些单词的词法分析程序。 输入:由符合和不符合所规定的单词类别结构的各类单词组成的源程序文件。 输出:把所识别出的每一单词均按形如(CLASS,VALUE)的二元式形式输出,并将结果放到某个文件中。对于标识符和无符号常数,CLASS字段为相应的类别码的助记符;VALUE字段则是该标识符、常数的具体值;对于关键字和运算符,采用一词一类的编码形式,仅需在二元式的CLASS字段上放置相应单词的类别码的助记符,VALUE字段则为“空”。 2、语法分析程序设计与实现 选择对各种常见高级程序设计语言都较为通用的语法结构——算术表达式的

一个简化子集——作为分析对象,根据如下描述其语法结构的BNF定义G2[<算术表达式>],任选一种学过的语法分析方法,针对运算对象为无符号常数和变量的四则运算,设计并实现一个语法分析程序。 G2[<算术表达式>]: <算术表达式>→<项> | <算术表达式>+<项> | <算术表达式>-<项> <项>→<因式>|<项>*<因式>|<项>/<因式> <因式>→<运算对象> | (<算术表达式>) 若将语法范畴<算术表达式>、<项>、<因式>和<运算对象>分别用E、T、F和i 代表,则G2可写成: G2[E]:E → T | E+T | E-T T → F | T*F | T/F F → i | (E) 输入:由实验一输出的单词串,例如:UCON,PL,UCON,MU,ID······输出:若输入源程序中的符号串是给定文法的句子,则输出“RIGHT”,并且给出每一步分析过程;若不是句子,即输入串有错误,则输出“ERROR”,并且显示分析至此所得的中间结果,如分析栈、符号栈中的信息等,以及必要的出错说明信息。 3、语义分析程序设计与实现 对文法G2[<算术表达式>]中的产生式添加语义处理子程序,完成运算对象是简单变量(标识符)和无符号数的四则运算的计值处理,将输入的四则运算转换为四元式形式的中间代码。 输入:包含测试用例(由标识符、无符号数和+、?、*、/、(、)构成的算术表达式)的源程序文件。 输出:将源程序转换为中间代码形式表示,并将中间代码序列输出到文件中。 若源程序中有错误,应指出错误信息 二、设计思路 1、词法分析程序设计与实现 1)单词分类 为了编程的实现。我们假定要编译的语言中,全部关键字都是保留字,程序员不得将它们作为源程序中的标识符;作了这些限制以后,就可以把关键字和标识符的识别统一进行处理。即每当开始识别一个单词时,若扫视到的第一个字符为字母,则把后续输入的字母或数字字符依次进行拼接,直至扫视到非字母、数字字符为止,以期获得一个尽可能长的字母数字字符串,然后以此字符串查所谓保留字表(此保留字表要事先造好),若查到此字符串,则取出相应的类别码;反之,则表明该字符串应为一标识符。

相关文档