当前位置:文档之家› TCPUDP客户服务器实验报告

TCPUDP客户服务器实验报告

TCPUDP客户服务器实验报告
TCPUDP客户服务器实验报告

《计算机网络》课程综合实验报告之

TCP/UDP服务器端和客户端

程序设计

院系:信息工程学院

专业:电子信息工程

姓名:荆林风

学号:20142410232

一、实验目的

学习和掌握Linux环境下的TCP和UDP通信服务器和客户端的基本编程方法和运行机制,掌握TCP/UDP报文段的通信过程。

二、实验平台

win10操作系统下VMware Workstation工作环境下linux虚拟机,ubuntu操作系统

三、实验内容

1..编写Linux下TCP/UDP服务器套接字程序,程序运行时服务器

等待客户的连接,一旦连接成功,则显示客户的IP地址、端口号,并向客户端发送字符串。

2.编写Linux下TCP/UDP客户端套接字程序,结合实验一的服务

器端程序,实现以下功能:

1客户根据用户提供的IP地址连接到相应的服务器;

2服务器等待客户的连接,一旦连接成功,则显示客户的IP 地址、端口号,并向客户端发送字符串;

3客户接收服务器发送的信息并显示。

四、实验原理

使用TCP套接字编程可以实现基于TCP/IP协议的面向连接的通

信,它分为服务器端和客户端两部分,其主要实现过程如图1.1所示。1、socket函数:为了执行网络输入输出,一个进程必须做的第一件事就是调用socket函数获得一个文件描述符。

-----------------------------------------------------------------

#include

int socket(int family,int type,int protocol);

返回:非负描述字---成功-1---失败

-----------------------------------------------------------------

第一个参数指明了协议簇,目前支持5种协议簇,最常用的有AF_INET(IPv4协议)和AF_INET6(IPv6协议);第二个参数指明套接口类型,有三种类型可选:SOCK_STREAM(字节流套接口)、SOCK_DGRAM(数据报套接口)和SOCK_RAW(原始套接口);如果套接口类型不是原始套接口,那么第三个参数就为0。

2、connect函数:当用socket建立了套接口后,可以调用connect 为这个套接字指明远程端的地址;如果是字节流套接口,connect

就使用三次握手建立一个连接;如果是数据报套接口,connect仅指明远程端地址,而不向它发送任何数据。

---------------------------------------------------------

--------

#include

int connect(int sockfd,const struct

sockaddr*addr,socklen_t addrlen);

返回:0---成功

-1---失败

--------------------------------------------------------

---------

第一个参数是socket函数返回的套接口描述字;第二和第三个参数分别是一个指向套接口地址结构的指针和该结构的大小。

这些地址结构的名字均已“sockaddr_”开头,并以对应每个协议族的唯一后缀结束。以IPv4套接口地址结构为例,它以“sockaddr_in”命名,定义在头文件;以下是结构体的内容:

---------------------------------------

---------------------------

struct in_addr{

in_addr_t s_addr;/*

IPv4地址*/

};

struct sockaddr_in{

uint8_t sin_len;/*无符号的8位

整数*/

sa_family_t sin_family;

/*套接口地址结构的地址簇,这

里为AF_INET*/

in_port_t sin_port;/*TCP或

UDP端口*/

struct in_addr sin_addr;

char sin_zero[8];

};

----------------------------------

---------------------------------

3、bind函数:为套接口分配一个本地IP和协议端口,对于网际协议,协议地址是32位IPv4地址或128位IPv6地址与16位的TCP 或UDP端口号的组合;如指定端口为0,调用bind时内核将选择一个临时端口,如果指定一个通配IP地址,则要等到建立连接后内核才选择一个本地IP地址。

------------------------------------------------

-------------------

#include

int bind(int sockfd,const struct

sockaddr*server,socklen_t addrlen);

返回:0---成功-1---失败

----------------------------------------------------

---------------

第一个参数是socket函数返回的套接口描述字;第二和第第三个参数分别是一个指向特定于协议的地址结构的指针和该地址结构的长度。

4、listen函数:listen函数仅被TCP服务器调用,它的作用是将用sock创建的主动套接口转换成被动套接口,并等待来自客户端的连接请求。

----------------------------------

---------------------------------

#include

int listen(int sockfd,int

backlog);

返回:0---成功-1

---失败

-------------------------------------

------------------------------

第一个参数是socket函数返回的套接口描述字;第二个参数规定了内核为此套接口排队的最大连接个数。由于listen函数第二个参数的原因,内核要维护两个队列:以完成连接队列和未完成连接队列。未完成队列中存放的是TCP连接的三路握手为完成的连接,accept函数是从以连接队列中取连接返回给进程;当以连接队列为空时,进程将进入睡眠状态。

5、accept函数:accept函数由TCP服务器调用,从已完成连接队列头返回一个已完成连接,如果完成连接队列为空,则进程进入睡眠状态。

------------------------------------------------

-------------------

#include

int accept(int listenfd,struct sockaddr

*client,socklen_t*addrlen);

回:非负描述字---成功-1-

--失败

----------------------------------------------------

---------------

第一个参数是socket函数返回的套接口描述字;第二个和第三个参数分别是一个指向连接方的套接口地址结构和该地址结构的长度;该函数返回的是一个全新的套接口描述字;如果对客户段的信息不感兴趣,可以将第二和第三个参数置为空。

6、write和read函数:当服务器和客户端的连接建立起来后,就可以进行数据传输了,服务器和客户端用各自的套接字描述符进行读/写操作。因为套接字描述符也是一种文件描述符,所以可以用文件读/写函数write()和read()进行接收和发送操作。

(1)write()函数用于数据的发送。

-------------------------------------------------------------------

#include

int write(int sockfd,char*buf,int len);

回:非负---成功-1---失败

-------------------------------------------------------------------

参数sockfd是套接字描述符,对于服务器是accept()函数返回的已连接套接字描述符,对于客户端是调用socket()函数返回的套接字描述符;参数buf是指向一个用于发送信息的数据缓冲区;len指明传送数据缓冲区的大小。

(2)read()函数用于数据的接收。

-------------------------------------------------------------------

#include

int read(int sockfd,char*buf,intlen);

回:非负---成功-1---失败

-------------------------------------------------------------------

参数sockfd是套接字描述符,对于服务器是accept()函数返回的已连接套接字描述符,对于客户端是调用socket()函数返回的套接字描述符;参数buf是指向一个用于接收信息的数据缓冲区;len指明接收数据缓冲区的大小。

7、send和recv函数:TCP套接字提供了send()和recv()函数,用来发送和接收操作。这两个函数与write()和read()函数很相似,只是多了一个附加的参数。

(1)send()函数用于数据的发送。

-------------------------------------------------------------------

#include

#include

ssize_t send(int sockfd,const void*buf,size_t len,int flags);

回:返回写出的字节数---成功-1---失败

-------------------------------------------------------------------

前3个参数与write()相同,参数flags是传输控制标志。

(2)recv()函数用于数据的发送。

-------------------------------------------------------------------

#include

#include

ssize_t recv(int sockfd,void*buf,size_t len,int flags);

回:返回读入的字节数---成功-1---失败

-------------------------------------------------------------------

前3个参数与read()相同,参数flags是传输控制标志。

五、实验步骤

服务器程序

1、登陆进入ubuntu操作系统,新建一个文件,命名为server.c (为了方便起见,可以进入“home”,再进入用户目录,在用户目录下新建server.c)。

2、在server.c中编写服务器端程序代码并保存。

3、在“终端”(“Applications”→“附件”→“终端”)中执行命令进入server.c所在目录。(pwd命令可以显示当前所在目录;ls命令可以显示当前目录下的文件和文件夹信息;cd..命令可以进入上一级目录;cd目录名命令可以进入当前所示的某个目录。)

4、执行命令gcc–o server tcpserver.c生成可执行文件server。

5、执行命令./server,观察结果。

6、认真分析源代码,体会如何编写一个TCP服务器端程序。

客户程序

1、登陆进入ubuntu操作系统,新建一个文件,命名为client.c (为了方便起见,可以进入“home”,再进入用户目录,在用户目录下新建client.c)。

2、在client.c中编写客户端程序代码并保存。将实验一完成的server.c拷贝到与client.c同一目录下。

3、在“终端”(“Applications”→“附件”→“终端”)中执行命令进入server.c和client.c所在目录。

4、执行命令gcc–o server server.c生成可执行文件server。

5、执行命令./server。

6、再开一个“终端”,进入server.c和client.c所在目录,执行命令

gcc–o client tcpclient.c生成可执行文件client。

7、执行命令./client127.0.0.1。

8、观察两个“终端”出现的结果。

9、认真分析源代码,体会如何编写一个TCP客户端程序。

六、参考程序

(一)Sever.c程序

(二)Client.c程序

(三)Listener.c

(四)Talker.c

七、程序结果

(一)TCP通信结果

(二)UDP通信结果

WWW服务器配置实验报告

信息科学与技术学院实验报告 课程名称: 计算机网络应用技术教程实验项目: WWW服务器配置 实验地点:指导教师: 日期: 2013/10/29 实验类型:验证性实验(验证性实验综合性实验设计性实验)专业: 班级: 11级姓名: 学号: 一、实验目的及要求 1.实验目的: 1.正确理解WWW服务的运行机制,了解常用的wed服务器软件。 2.掌握IIS服务器的安装和管理,创建wed站点利用IIS在一台服务器上运行多个网站。 3.掌握虚拟机主机和虚拟目录的创建删除。 2.实验要求: 1.理解IIS服务的概念及其所具有的功能。 2.掌握IIS服务的安装方法。 3.掌握WWW服务的配置包括IP地址、端口号、默认文档、安全等设定,以及如何应用WWW服务的方法。 4.了解虚拟目录服务的作用。 二、实验仪器、设备或软件 1.实验仪器:电脑一台 三、实验内容及原理 1.实验内容: (1).学会安装IIS。 (2).掌握www服务器的配置和使用。 (3).创建虚拟目录。 2.实验原理: 万维网WWW(World Wide Web)服务,又称为Web服务,是目前TCP/IP互联网上最方便和最受欢迎的信息服务类型,是因特网上发展最快同时又使用最多的一项服务,目前已经进入广告、新闻、销售、电子商务与信息服务等诸多领域,它的出现是TCP/IP互联网发展中的一个里程碑。 WWW服务采用客户/服务器工作模式,客户机即浏览器(Browser),服务器即Web服务器,它以超文本标记语言(HTML)和超文本传输协议(HTTP)为基础,为用户提供界面一致的信息浏览系统。信息资源以页面(也称网页或Web页面)的形式存储在Web服务器上(通常称为Web站点),这些页面采用超文本方式对信息进行组织,页面之间通过超链接连接起来。这些通过超链接连接的页面信息既可以放

通信工程实训报告

通 信 工 程 实 训 班级:通信131 姓名:谢伟强 学号:37 指导老师:吴芳洪军 前言 在NII(国家信息基础设施)的建设中,大容量、高速率的通信网是主干,NII的目标在很大程度上依*通信网实现,因此通信网的发展倍受瞩目。通信网技术的发展,制约着计算机网络的发展,制约着政治、经济、军事、文化等各行各业的发展,及时了解和掌握现代通信网新技术及发展趋势,并将之运用于军事装备的设计和规划中,对于提高军事水平

具有重要意义。 通信工程专业是IT领域的关键学科,移动通信、光纤通信、因特网使人们传递和获得信息达到了前所未有的便捷。本专业本着加强基础、跟踪前沿、注重能力,培养具有扎实的理论基础和开拓创新精神,能够在通信技术、通信系统和通信网络等方面,从事研究、设计、运营、开发的高级专门人才。 作为通信专业的学生,听了如此深刻的讲座使我对未来的工作有了很多的期待,也很庆幸当时对于本专业此工作方向的选择。我感到责任重大,即使是一个点,也还有很多方面值得拓展和探索,想要取得满意的结果和优异的成绩,我们所要做的就是倍加努力,汲取现有的知识,在新的领域开拓新的研究道路,积极探索,永不止步。 目录 1.实训目的 2. 实训要求 3. 光纤的熔接和制作 4. 综合配线柜和接线箱的介绍 5. 测量数据表 6. 总结 实训目的 通信工程是一门实践性很高的课程,其目的是通过实践

的操作来学习补充本专业的知识,能使学生加深理解,巩固课堂教学内容,加深对网络的基本工作原理的理解,并能掌握具体的操作方法,能以通信工程技术的理论来指导实训活动,能提高理论联系实际的的水平。 其目的是通过参观学习,了解各种通信工程网络的基本原理和理论以及基本的概况,增强学生对通信行业的感性认识,培养专业的认知能力,为以后打好基础。 实训要求 1. 在光纤熔接过程中要严格按照步骤要求做 2. 对熔接工具要有认识和操作 3. 学会光纤熔接的操作并熟悉使用这些工具 4. 熔接结束后,整理工具收拾好桌面 5. 参观户外基站要仔细听讲完成操作 6. 测量各项项目并做好记录 7. 记录下参观记录,写好报告和心得体会 光纤熔接和制作 实训目的 一.了解和制作光纤,加强对最新技术的了解和认识 二.学会制作和熔接光纤 实训仪器 光纤若干光纤熔接器剥线器光纤切割刀 实训步骤与过程记录

RS232串口通信实验报告

RS232串口通信实验报告 学院:电子信息学院 班级:08031102 姓名:张泽宇康启萌余建军 学号:2011301966 2011301950 2011301961 时间:2014年11月13日 学校:西北工业大学

一.实验题目: 设计一个简单的基于串口通信的信息发送和接受界面 二.实验目的: 1.熟悉并掌握RS232串口标准及原理。 2.实现PC机通过RS232串口进行数据的收发。 3.熟悉VC语言编写程序的环境,掌握基本的VC语言编程技巧。 三.实验内容 程序代码: P// PC1PC2Dlg.cpp : implementation file // #include "stdafx.h" #include "PC1PC2.h" #include "PC1PC2Dlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ////////////////////////////////////////////////////////////////////////// // CAboutDlg dialog used for App About class CAboutDlg : public CDialog { public: CAboutDlg(); // Dialog Data //{{AFX_DATA(CAboutDlg) enum { IDD = IDD_ABOUTBOX }; //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CAboutDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL

FTP服务器配置实验报告

F T P服务器配置实验报告 Prepared on 22 November 2020

实验报告 课程:计算机网络实验 实验名称: FTP服务器配置与管理 系别 : 电子信息工程系 实验日期 : 专业班级 : 03通信师 组别 : 第10组 实验报告日期 : 姓名 : 学号 : (40) (41) 报告退发 : ( 订正、重做 ) 第1页共 12 页 FTP服务器配置与管理 一.题目: FTP服务器配置与管理 二.环境: Sever2000 三.试验目的 1.掌握FTP服务的基本概念与工作原理 2.懂得安装FTP服务器的过程 3.配置与管理FTP服务器 四.试验内容及步骤 1.的安装,具体步骤如下: (1)运行“控制面板”中的“添加或删除程序”,点击“添加/ 删除Windows组件”按钮。 第 2 页共 12页 (2)在出现组件安装向导中,选择“Internet信息服务 (IIS)”,单击“下一步”开始安装,单击“完成”结 束。 第 3 页共 12 页 系统自动安装组件,完成安装后,系统在“开始”/“程序”/“管理工具”程序组中会添加一项“Internet服务管理器”,此时服务器的WWW、FTP等服务会自动启动。 2.设置FTP站点 第 4 页共 12 页 (1)使用IIS默认站点

①将制作好的主页文件(html文件)复制到 \Inetpub\ftproot目录,该目录是安装程序为默认FTP站点 预设的发布目录。 ②将主页文件的名称改为。IIS默认要打开的主页文件是 或,而不是一般常用的。 完成这两个步骤后,打开本机或客户机浏览器,在地址栏 中输入FTP服务器的 IP地址()或主机的FQDN名字(前 提是DNS服务器中有该主机的记录),就会以匿名的方式 登录到FTP服务器,根据权限的设置就可以进行文件的上 传和下载了。 (2)添加新的FTP站点 ①打开“Internet信息服务窗口”,鼠标右键单击要创建 新站点的计算机,在弹出菜单中选择“新建”/“FTP站 点”,出现“FTP站点创建向导”,单击“下一步”继 续。 第 5 页共 12 页 ②输入FTP站点说明,单击下一步 第 6 页共 12 页 ③ 单击下一步 ④指定FTP输入主目录的路径(如选择新建文件夹),单击下一步 第 7 页共 12 页 ⑤设置访问权限为读取和写入,并单击下一步,完成FTP站点创建向导 第 8 页共 12 页 站点的管理 (1)本地管理 通过“开始”/“程序”/“管理工具”/“Internet服务管理 器”,打开如图9-1的“Internet信息服务”窗口,在要管 理的FTP站点上单击鼠标右键,选择“属性”命令,出现如下 图所示对话框。 第 9 页共 12 页 ①“FTP站点”属性页 IP地址:设置此站点的IP地址,即本服务器的IP地址。 如果服务器设置了两个以上的IP站点,可以任选一个。FTP 站点可以与Web站点共用IP地址以及DNS名称,但不能设置 使用相同的TCP端口。 TCP端口:FTP服务器默认使用TCP协议的21端口,(若端口号21以被配置,则需更改此端口,用户在连接到此站点时,

实验一基于TCP套接字的文件传输客户服务器程序设计实验报告

2011年秋季学期《计算机网络II》实验报告 考核科目:计算机网络II 学生所在院(系):计算机科学与技术学院 学生所在学科: 姓名: 学号: 实验时间:2011年11月29日

一、问题描述 1.实验名称: 基于TCP套接字的文件传输客户服务器程序设计 2.实验目的: 掌握基于TCP套接口的网络程序设计。 掌握大规模文件传输的基本方法。 3.实验要求: 服务器程序分别实现迭代服务器,并发服务器,使用单进程和select 的TCP服务器。 服务器在客户提出请求后向客户发送一个不小于1M大小的文件。 二、概要设计 1.客户程序概要设计。 创建TCP套接口; 指定服务器IP地址和端口; 建立与服务器的连接; 向服务器发送请求传送文件的请求“hello”; 接受服务传输过来的数据; 终止程序。 2.迭代服务器概要设计。 创建TCP套接口; 捆绑服务器众所周知端口到套接口; 把套接口变成监听套接口; 接受客户连接; 读取客户的请求,发送应答; 终止连接并等待下一个客户连接。 3.并发服务器概要设计。 创建TCP套接口; 捆绑服务器众所周知端口到套接口; 把套接口变成监听套接口; 接受客户连接; 调用fork()派生子进程处理连接,父进程等待新的连接请求并处理结 束的子进程; 子进程读取客户的请求,发送应答,数据传输结束后终止连接并退出。 4.使用单进程和select的TCP服务器概要设计。 创建TCP套接口; 捆绑服务器众所周知端口到套接口; 把套接口变成监听套接口; 调用select初始化数据结构; 阻塞于select;

若监听套接字变为可读,accept新的连接; 检查现有连接,若连接可读则读取客户请求,发送应答,数据传输结束 后关闭当前连接并更新数据结构。 三、详细设计 1.客户程序详细设计。 a)主要数据结构设计 ipv4套接字地址结构 struct in_addr{ in_addr_t s_addr; }; struct sockaddr_in{ uint8_t sin_len; sa_family_t sin_family; in_port_t sin_port; struct in_addr sin_addr; char sin_zero[8]; }; 字符数组 char buf[MAXSIZE]; b)主要函数功能 socket(),connect(),writen(),readn(),close() int socket(int domain, int type, int protocol); 指定期望的通信协议类型。返回值:成功则为非负描述符,出错则为-1。 int connect(int sockfd, const struct sockaddr *addr,socklen_t addrlen); tcp客户用connect函数来建立与tcp服务器的连接。 ssize_t readn(int fd,void *vptr,size_t n); 从一个描述字读n个字节到vptr所指的缓冲区。 ssize_t writen(int fd,const void*vptr,size_t n); 从vptr所指的缓冲区中写n个字节到一个描述字。 int close(int fd); 关闭描述字。 2.迭代服务器详细设计。 a)主要数据结构设计 ipv4套接字地址结构(略) 字符数组 char buf[MAXSIZE]; b)主要函数功能 socket(),bind(),listen(),accept(),writen(),readn(),close() int bind(int sockfd, const struct sockaddr *addr,socklen_t addrlen); bind函数把一个本地协议地址赋予一个套接字。对于网际网协议,协议地址 就是32位的ipv4地址或者128位的ipv6地址与16位的tcp或udp端口号的 组合。如果一个tcp客户或者服务器未曾调用bind捆绑一个端口,当调用

通信工程专业综合实验报告..

通信工程专业综合实验 实验报告 (移动通信系统和网络协议部分) 姓名: 学号: 班级: 指导教师:

实验一:主被叫实验 一、实验目的 1、掌握移动台主叫正常接续时的信令流程。 2、了解移动台主叫时被叫号码为空号时的信令流程。 3、了解移动台主叫时被叫用户关机或处于忙状态时的信令流程。 4、了解移动台主叫时被叫用户振铃后长时间不接听的信令流程。 5、掌握移动台被叫正常接续时的信令流程。 6、掌握通话结束呼叫释放时的信令流程。 7、了解被叫用户振铃后长时间不接听时移动台被叫的信令流程。 二、实验仪器 1、移动通信实验箱一台; 2、台式计算机一台; 3、小交换机一台: 三、实验原理 处于开机空闲状态的移动台要建立与另一用户的通信,在用户看来只要输入被叫号码,再按发送键,移动台就开始启动程序直到电话拨通。实际上,移动台和网络要经许多步骤才能将呼叫建立起来。以移动台和移动台进行通信为例,就包括主叫移动台和主叫MSC建立信令链接、主叫MSC通过被叫电话号码对被叫用户进行选路,即寻找被叫所处的MSC、被叫MSC寻呼被叫MS并建立信令连接过程等三个过程。本实验主要是让学生掌握移动通信中移动台主叫时MS和MSC之间的信令过程、以及为了完成通话连接,主叫MSC和被叫MSC之间的信令过程(即七号信令中的部分消息)。 四、实验内容 1、记录正常呼叫的过程中,移动台主叫部分和被叫部分的信令流程 2、记录被叫关机时,移动台主叫部分的信令流程 3、记录被叫振铃后无应答时,移动台主叫部分和被叫部分的信令流程 4、记录被叫号码无效时,移动台主叫的信令流程 5、记录通话结束后,呼叫链路释放的信令流程 五、实验步骤 主叫实验: 1、通过串行口将实验箱和电脑连接,给实验箱上电。将与实验箱相连的电脑上的学生平台程序打开。在主界面上双击“主叫实验”图标,进入此实验界面。 2、点击“初始化”键,看到消息框中出现“初始化”完成。再点击“开机”键,从而使移动台处于开机状态。

串口通信实验报告全版.doc

实验三双机通信实验 一、实验目的 UART 串行通信接口技术应用 二、实验实现的功能 用两片核心板之间实现串行通信,将按键信息互发到对方数码管显示。 三、系统硬件设计 (1)单片机的最小系统部分 (2)电源部分 (3)人机界面部分

数码管部分按键部分 (4)串口通信部分 四、系统软件设计 #include #define uchar unsigned char #define uint unsigned int void send(); uchar code0[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0-9的数码管显示 sbit H1=P3^6; sbit H2=P3^7;

sbit L1=P0^5; sbit L2=P0^6; sbit L3=P0^7; uint m=0,i=0,j; uchar temp,prt; /***y延时函数***/ void delay(uint k) { uint i,j; //定义局部变量ij for(i=0;i

{ m=1; //KEY1键按下 return(m); } if(H2==0) { m=4; //KEY4键按下 return(m); } } } if(L2==0) { delay(5); if (L2==0) { L2=0;H1=1;H2=1; if(H1==0) { m=2; //KEY2键按下 return(m); } if(H2==0) { m=5; //KEY5键按下 return(m); } } } if(L3==0) { delay(5); if (L3==0) { L3=0;H1=1;H2=1; if(H1==0) { m=3; //KEY3键按下

Apache服务器配置实验报告

在Linux下配置Apache服务器 一、实验目的 完成本次实训,将能够: ●配置基本的Apache服务器 ●配置个人用户Web站点。 ●配置虚拟目录别名功能。 ●配置主机访问控制。 ●配置用户身份验证功能.。 ●配置基于IP地址的虚拟主机. 二、实验环境 1、RedHat Linux4AS. 2、Apache 2.0 三、实验内容 1.配置基本的Apache服务器 2.配置个人用户Web站点。 3.配置虚拟目录别名功能。 4.配置主机访问控制。 5.配置用户身份验证功能.。 6.配置基于IP地址的虚拟主机。 四、实验要求 在Linux操作系统下配置Apache服务器。 五、注意事项 1.在修配置文件下注意区分大小写、空格。 2.在每次重新开机后都必须启动Apachec服务器。 3.在每次修改完主配置文件后保存起来,必须重启Apachec服务器,如果不重启会 导致配置无效,最终导致实验失败。 六、实验步骤 1、检测是否安装了Apache软件包: A、首先为服务器网卡添加一个固定的IP地址。 B、在Web浏览器的地址栏中输入本机的IP地址,若出现Test Page测试页面(该 网页文件的默认路径为var/www/html/index.html)如下图1所示就说明Apache 已安装并已启动。

另一种方法是使用如下命令查看系统是否已经安装了Apache软件包: [root@rhe14~]# rpm –aq | grep httpd Httpd-suexec-2.0.52-9.ent Httpd-manual-2.0.52-9.ent System-config-httpd-1.3.1-1 Httpd-devel-2.0.52-9.ent 出现以上内容表明了系统已安装Apache软件包。 2、安装Apache软件包 超级用户(root)在图形界面下选择“应用程序”|“系统设置”|“添加/删除应用程序”命令,选择“万维网服务器”软件包组,在单击“更新”按钮就可以安装与Apache相关的软件包。 3、Apache的基本配置 (1)打开终端输入[root@rhe14~]# /etc/rc.d/init.d/httpd start //启动Apache 或者 [root@rhe14~]# apachectl start //启动Apache [root@rhe14~]# apachectl stop //停止Apache服务 [root@rhe14~]# apachectl restart //重启Apache服务 [root@rhe14~]# apachectl configtest //测试Apache服务器配置语法(2)在httpd.conf将Apache的基本配置参数修改、将一些注释的语句取消注释,或将某些不需要的参数注释掉。 (3)将包括index.html在内的相关网页文件复制到指定的Web站点根目下(var/www/html/index.html) (4)重启httpd进程 (5) 在Web浏览器下输入配置的ip地址出现如下图2,那表明基本配置成功了:

软件工程 实验报告

v1.0 可编辑可修改 院系:计算机科学学院 专业:计算机科学与技术 年级: 2013级 课程名称:软件工程 组员:司少武(1135) 兰少雄(1136) 张宇(1133) 纳洪泽(1132) 指导教师:刘卫平 2015年 12月 26 日

聊天室 1 前言 即时消息系统的研究现状 即时消息系统[1](Instant Messenger,IM)是一种在后 PC 时代兴起的,以Internet 网络为基础的,允许交互双方即时地传送文字、语音、视频等信息,能够跟踪网络用户在线状态的网络应用软件。即时消息系统产生有着深刻的社会原因:人们都有渴望社交,获得社会尊重、实现自我的需求,这正是即时消息软件风行的原动力,而物质文明的日益发达所带来副作用,又使得人们习惯与周围的人保持距离,以致人们更愿意对陌生人敞开心扉,在网络中可以跨越年龄、身份、行业、地域的限制,达到人与人、人与信息之间的零距离交流。从这点上讲,即时消息系统的出现改变了人们的沟通方式和交友文化,大大拓展了个人生活交流的空间。 本工程的主要内容 随着互联网逐步普及,人们的生活和工作也越来越离不开信息网络的支持,而聊天室是人们最常见,最直接的网上交流的方式。本聊天系统以聊天交流为主,为广大用户提供一个借助网络进行人际交往的平台,也是网络与现实最贴近的实用型网站。本文所介绍的网络聊天系统是基于开放的JAVA应用程序开发设计的,其主要特性是能动态、实时的完成信息的传递,且具有高效的交互性,更有效的处理客户请求,且具有脱离数据库技术方法,易于维护和更新的特点。 2 需求分析 本系统所要实现的主要功能是当用户聊天时,将当前用户名、聊天对象、聊天内容、聊天语气和是否私聊进行封装,然后与服务器建立Socket连接,再用对象输出流包装Socket的输出流将聊天信息对象发送给服务器端当用户发送聊天信息时,服务端将会收到客户端用Socket传输过来的聊天信息对象,然后将其强制转换为Chat对象,并将本次用户的聊天信息对象添加

(完整word版)通信工程与概预算实训报告

通信工程与概预算实训报告 ***职业技术学院 实训报告 第至学年第学期 实训名称: 专业班级: 实训周次: 指导教师: 小组成员: ***职业技术学院信息工程系 年月日 前言 通信工程概预算是一门实践性很强的课程,我们从高等职业技术教育的要求出发,对该课程的实践教学进行了卓有成就的改革。实践教学环节的构成紧紧围

绕职业技术教育的特点和培养目标,以培养学生的技术应用能力和职业素质为宗旨,设计具有职业情景的实践教学项目,构建知识与能力交互、渗透、基本技能培养、职业培训和职业技能鉴定逐步递进的实践教学环节。 该课程的实践教学分为三个阶段:第一阶段为基础实训阶段,能根据实际工程,初步掌握查定额的技能:第二阶段是概预算软件操作实训阶段,学会一些软件的安装和启动,以及使用该软件编制各种表格的技能、能设置各种工程的费率技能:第三阶段是通信工程实例制作实训,通过实训培养通信工程概预算编制的实际运用技能。学生在指导老师带领下积极参与这些实践教学活动,因此使他们的发现问题、分析问题和解决问题的能力逐步提高,最终实现学生的零距离上岗的要求。 为提高学生的上岗能力,以社会需求为依归,逐步将职业培训证书,职业技能鉴定和基本技能培养纳入实践教育体系 目录 2前言 3目录

4第一章实训目的 5第二章实训内容 52.1概预算文件的组成 52.1.1编制说明的内容 62.1.2 编制说明举例 62.1.3 相关费率的取定 62.2 概预算表格及填写方法 62.2.1 通信工程概预算编制填表顺序72.3 光纤入户 72.3.1 光纤入户简介 72.3.2 光纤入户推广 82.3.3 光纤入户设备 92.4 电信光纤入户综合布线 92.4.1 内通信设施说明 112.4.2 家庭装修布线方法 15 2.4.3 家庭布线的验收 162.5 通信电缆线路勘测 162.5.1 通信电缆线路工程勘测设计概述162.5.2 工程勘测主要内容 172.5.3 通信电缆线路工程路由勘测172.5.4 通信电缆线路工程设计 172.5.5通信线路工程设计流程 182.5.6 通信电缆线路工程概预算 19第三章通信工程制图与工程量统计193.1通信工程制图的整体要求和统一规定

UART串口通信实验报告

实验四 UART 串口通信 学院:研究生院 学号:1400030034 姓名:张秋明 一、 实验目的及要求 设计一个UART 串口通信协议,实现“串 <-->并”转换功能的电路,也就是 “通用异步收发器”。 二、 实验原理 UART 是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实 现全双工传输和接收。在嵌入式设计中,UART 用来主机与辅助设备通信,如汽 车音响与外接AP 之间的通信,与PC 机通信包括与监控调试器和其它器件,如 EEPROM 通信。 UART 作为异步串口通信协议的一种,工作原理是将传输数据的每个字符一 位接一位地传输。 其中各位的意义如下: 起始位:先发出一个逻辑” 0的信号,表示传输字符的开始。 资料位:紧接着起始位之后。资料位的个数可以是 4、5、6、7、8等,构成 一个字符。通常采用ASCII 码。从最低位开始传送,靠时钟定位。 奇偶校验位:资料位加上这一位后,使得“ 1的位数应为偶数(偶校验)或奇数 (奇校验),以此来校验资料传送的正确性。 停止位:它是一个字符数据的结束标志。可以是 1位、1.5位、2位的高电 平。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能 在通信中两台设备间出现了小小的不同步。 因此停止位不仅仅是表示传输的结束, 并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步 的容忍程度越大,但是数据传输率同时也越慢。 空闲位:处于逻辑“ 1状态,表示当前线路上没有资料传送。 波特率:是衡量资料传送速率的指标。表示每秒钟传送的符号数(symbol )。 一个符号代表的信息量(比特数)与符号的阶数有关。例如资料传送速率为 120 字符/秒,传输使用256阶符号,每个符号代表8bit ,则波特率就是120baud,比 特率是120*8=960bit/s 。这两者的概念很容易搞错。 三、 实现程序 library ieee; use ieee.std 」o gic_1164.all; end uart; architecture behav of uart is en tity uart is port(clk : in std_logic; rst_n: in std 」o gic --系统时钟 --复位信号 rs232_rx: in std 」o gic rs232_tx: out std 」o gic --RS232接收数据信号; --RS232发送数据信号;); use ieee.std_logic_ un sig ned.all;

web服务器的配置实验报告doc

web服务器的配置实验报告 篇一:计算机网络实验报告——Web服务器的配置 实验2 web服务器配置 一、实验目的: 掌握如何使用windows XX server的IIS5.0配置出web 服务器 二、实验内容: 1、创建一个web站点,并且可以实现在别人的计算机上访问该站点 2、使用不同的ip建立多个站点 3、在一个站点下建立多个子站点(使用虚拟目录实现) 4、在同一个套接字(即ip地址+端口)上建立多个站点(使用加主机头名方法实现) 5、对站点进行安全管理(如浏览权限、帐号的使用、ip地址的设定) 三、实验要求: 一定要保证让别人正常的访问你建立的站点,并使实验结果达到预期的目的! 四、实验步骤: 1. 使用当地IP地址建立web站点 (1)准备工作: ①关闭Windows 防火墙

实验中,为了我们所建的站点能够被成功访问,先将Windows 防火墙关闭。如图: ②IIS功能设置 控制面板\所有控制面板项\程序和功能---“打开或关闭windows所有功能”: 出现了安装Windows功能的选项菜单,在“Internet信息服务”中手动选择需要的功能,如下图: ③下载“花生壳软件”到本地,申请免费域名mqqfhg。 这样,完成了前期的所有准备工作,开始进行web服务器的建设。 (2)开始建立web站点 ①创建web站点“酒窝” 打开“控制面板”——“管理工具”—“ Internet 信息服务(IIS)管理(本文来自:小草范文网:web服务器的配置实验报告)器”——右击“网站——“添加网站——选择“IP地址”及“物理路径”: 篇二:实验六web服务器配置实验报告 XX-XX学年第一学期课程实验报告课程名称:计算机网络 实验名称: 篇三:Web服务器的配置实验报告 实验5 Web服务器的配置

TCPUDP客户服务器实验报告

《计算机网络》课程综合实验报告之 TCP/UDP服务器端和客户端 程序设计 院系:信息工程学院 专业:电子信息工程 姓名:荆林风 学号:20142410232

一、实验目的 学习和掌握Linux环境下的TCP和UDP通信服务器和客户端的基本编程方法和运行机制,掌握TCP/UDP报文段的通信过程。 二、实验平台 win10操作系统下VMware Workstation工作环境下linux虚拟机,ubuntu操作系统 三、实验内容

1..编写Linux下TCP/UDP服务器套接字程序,程序运行时服务器 等待客户的连接,一旦连接成功,则显示客户的IP地址、端口号,并向客户端发送字符串。 2.编写Linux下TCP/UDP客户端套接字程序,结合实验一的服务 器端程序,实现以下功能: 1客户根据用户提供的IP地址连接到相应的服务器; 2服务器等待客户的连接,一旦连接成功,则显示客户的IP 地址、端口号,并向客户端发送字符串; 3客户接收服务器发送的信息并显示。 四、实验原理 使用TCP套接字编程可以实现基于TCP/IP协议的面向连接的通

信,它分为服务器端和客户端两部分,其主要实现过程如图1.1所示。1、socket函数:为了执行网络输入输出,一个进程必须做的第一件事就是调用socket函数获得一个文件描述符。 ----------------------------------------------------------------- #include int socket(int family,int type,int protocol); 返回:非负描述字---成功-1---失败 ----------------------------------------------------------------- 第一个参数指明了协议簇,目前支持5种协议簇,最常用的有AF_INET(IPv4协议)和AF_INET6(IPv6协议);第二个参数指明套接口类型,有三种类型可选:SOCK_STREAM(字节流套接口)、SOCK_DGRAM(数据报套接口)和SOCK_RAW(原始套接口);如果套接口类型不是原始套接口,那么第三个参数就为0。 2、connect函数:当用socket建立了套接口后,可以调用connect 为这个套接字指明远程端的地址;如果是字节流套接口,connect 就使用三次握手建立一个连接;如果是数据报套接口,connect仅指明远程端地址,而不向它发送任何数据。 --------------------------------------------------------- -------- #include int connect(int sockfd,const struct sockaddr*addr,socklen_t addrlen);

通信工程综合实验报告

通信工程专业综合实验实验报 (计算机网络部分)姓名: 学号: 班级: 指导教师:

实验一路由器基本操作 一、实验内容 1、通过Console 方式对路由器或交换机进行管理操作。 2、完成Telnet 方式对路由器或交换机访问操作。 3、利用tftp server 实现计算机和设备(交换机和路由器)之间的数据备份。 二、实验组网图 三、实验步骤 1用每台PC提供的Console连线和网线,选择一台路由器或者交换机连接好。 2、网线连接时,注意选择正确的接口(区分两种不同的以太网接口)。 3、按照实验指导书完成各项试验内容。 4、完成试验后,备份你试验中形成的配置文件,用U盘考走,用于写试验报告。 四、路由器的配置文件内 容 # version , Release 1809P01 # sysname H3C % # super password level 3 simple test 码为test 明文 # domain default enable system # telnet server enable 更改系统名为H3C % 用户级别切换到level 3 的密% 域名系统默认启用 %telnet 服务启用 #

dar p2p signature-file flash:/ # port-security enable # vlan 1 domain system access-limit disable state active idle-cut disable self-service-url disable 端口安全启用虚拟局域网 1 默认系统配置 user-group system # local-user admin password cipher .]@USE=B,53Q=AQ'MAF4<1!! authorization-attribute level 3 % service-type telnet % local-user test % password cipher =W6JJ'N_LBKQ=A Q'MAF4<1!! % service-type telnet # interface Aux0 用户群系统 本地用户admin 密码显示为密文显示设置权限为level 3 服务方式为远程登录本地用户名改为test 密码显示为密文显示服务方式为远程登录 设置Aux0 async mode flow link-protocol ppp # interface Cellular0/0 配置Cellular0/0 async mode protocol link-protocol ppp # interface Ethernet0/0 配置Ethernet0/0 port link-mode route ip address %ip # 地址为24 interface Serial0/0 link-protocol ppp # interface NULL0 interface Vlan- interface1 ip address # 设置ip 及掩码interface Ethernet0/1 port link-mode bridge

单片机串口通讯实验报告

实验十单片机串行口与PC机通讯实验报告 ㈠实验目的 1.掌握串行口工作方式的程序设计,掌握单片机通讯的编制; 2.了解实现串行通讯的硬环境,数据格式的协议,数据交换的协议; 3.了解PC机通讯的基本要求。 ㈡实验器材 1.G6W仿真器一台 2.MCS—51实验板一台 3.PC机一台 ㈢实验内容及要求 利用8051单片机串行口,实现与PC机通讯。 本实验实现以下功能,将从实验板键盘上键入的字符或数字显示到PC 机显示器上,再将PC机所接收的字符发送回单片机,并在实验板的LED上显示出来。 ㈣实验步骤 1.编写单片机发送和接收程序,并进行汇编调试。 2.运行PC机通讯软件“commtest.exe”,将单片机和PC机的波特率均设定 为1200。 3.运行单片机发送程序,按下不同按键(每个按键都定义成不同的字符), 检查PC机所接收的字符是否与发送的字符相同。 4.将PC机所接收的字符发送给单片机,与此同时运行单片机接受程序,检 查实验板LED数码管所显示的字符是否与PC机发送的字符相同。

㈤ 实验框图

源程序代码: ORG 0000H AJMP START ORG 0023H AJMP SERVE ORG 0050H START: MOV 41H,#0H ;对几个存放地址进行初始化 MOV 42H,#0H MOV 43H,#0H MOV 44H,#0H MOV SCON,#00H ;初始化串行口控制寄存器,设置其为方式0 LCALL DISPLAY ;初始化显示 MOV TMOD,#20H ;设置为定时器0,模式选用2 MOV TL1, #0E6H ;设置1200的波特率 MOV TH1, #0E6H SETB TR1 ;开定时器 MOV SCON,#50H ;选用方式1,允许接收控制 SETB ES SETB EA ;开中断 LOOP: ACALL SOUT ;键盘扫描并发送,等待中断 SJMP LOOP SERVE JNB RI,SEND ;判断是发送中断还是接收中断,若为发送中 断则调用 ACALL S IN ;发送子程序,否则调用接收子程序 RETI SEND: CLR TI ;发送子程序 RETI SIN: CLR RI ;接受子程序 MOV SCON, #00H MOV A, SBUF ;接收数据 LCALL XS ;调用显示子程序 RETI 子程序: SOUT: CLR TI ;清发送中断标志位 LCALL KEY ;调用判断按键是否按下子程序 MOV A,R0 ;将按键对应的数字存入A MOV SBUF,A ;输出按键数字给锁存 RET KEY: MOV P1,#0FFH ;将P1设置为输入口 MOV A, P1 CPL A ;将A内值取反

简单的服务器客户端程序实验报告

简单的服务器客户端程 序实验报告 文件编码(008-TTIG-UTITD-GKBTT-PUUTI-WYTUI-8256)

简单的客户 /服务器程序设计与实现 实验目的及要求: 1、熟悉Microsoft Visual Studio 2008编程环境。 2、了解TCP 与UDP 协议,以及它们之间的区别。 3、了解客户/服务器模型原理。 4、熟悉Socket 编程原理,掌握简单的套接字编程。 实验设备: 硬件:PC 机(两台以上)、网卡、已经设定好的以太网环境 软件:Microsoft Visual Studio 2008 实验内容及步骤: 1、编写用TCP 协议实现的Client 端和Server 端程序并调试通过。 程序分两部分:客户程序和服务器程序。 工作过程是: 服务器首先启动,它创建套接字之后等待客户的连接;客户启 动后创建套接字,然后和服务器建立连接;建立连接后,客户接收键盘输 入,然后将数据发送到服务器,服务器收到到数据后,将接收到的字符在屏 幕上显示出来。或者服务器接收键盘输入,然后将数据发送到客户机,客户 机收到数据后,将接收到的字符在屏幕上显示出来。

用户的输入来提示Client 端下一步将要进行操作。 所用函数及结构体参考: 1、创建套接字——socket() 功能:使用前创建一个新的套接字 格式:SOCKET PASCAL FAR socket(int af, int type, int procotol); 参数:af :代表网络地址族,目前只有一种取值是有效的,即AF_INET ,代表 internet 地址族; Type :代表网络协议类型,SOCK_DGRAM 代表UDP 协议,SOCK_STREAM 代表 TCP 协议; Protocol :指定网络地址族的特殊协议,目前无用,赋值0即可。 返回值为SOCKET ,若返回INVALID_SOCKET 则失败。 2、指定本地地址——bind() 功能:将套接字地址与所创建的套接字号联系起来。 格式:int PASCAL FAR bind(SOCKET s, const struct sockaddr FAR * name, int namelen);

通信工程系统仿真实验报告

通信原理课程设计 实验报告 专业:通信工程 届别:07 B班 学号:0715232022 姓名:吴林桂 指导老师:陈东华

数字通信系统设计 一、 实验要求: 信源书记先经过平方根升余弦基带成型滤波,成型滤波器参数自选,再经BPSK ,QPSK 或QAM 调制(调制方式任选),发射信号经AWGN 信道后解调匹配滤波后接收,信道编码可选(不做硬性要求),要求给出基带成型前后的时域波形和眼图,画出接收端匹配滤波后时域型号的波形,并在时间轴标出最佳采样点时刻。对传输系统进行误码率分析。 二、系统框图 三、实验原理: QAM 调制原理:在通信传渝领域中,为了使有限的带宽有更高的信息传输速率,负载更多的用户必须采用先进的调制技术,提高频谱利用率。QAM 就是一种频率利用率很高的调制技术。 t B t A t Y m m 00sin cos )(ωω+= 0≤t ≤Tb 式中 Tb 为码元宽度t 0cos ω为 同相信号或者I 信号; t 0s i n ω 为正交信号或者Q 信号; m m B A ,为分别为载波t 0cos ω,t 0sin ω的离散振幅; m 为 m A 和m B 的电平数,取值1 , 2 , . . . , M 。 m A = Dm*A ;m B = Em*A ; 式中A 是固定的振幅,与信号的平均功率有关,(dm ,em )表示调制信号矢量点在信号空

间上的坐标,有输入数据决定。 m A 和m B 确定QAM 信号在信号空间的坐标点。称这种抑制载波的双边带调制方式为 正交幅度调制。 图3.3.2 正交调幅法原理图 Pav=(A*A/M )*∑(dm*dm+em*em) m=(1,M) QAM 信号的解调可以采用相干解调,其原理图如图3.3.5所示。 图3.3.5 QAM 相干解调原理图 四、设计方案: (1)、生成一个随机二进制信号 (2)、二进制信号经过卷积编码后再产生格雷码映射的星座图 (3)、二进制转换成十进制后的信号 (4)、对该信号进行16-QAM 调制 (5)、通过升余弦脉冲成形滤波器滤波,同时产生传输信号 (6)、增加加性高斯白噪声,通过匹配滤波器对接受的信号滤波 (7)、对该信号进行16-QAM 解调 五、实验内容跟实验结果:

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