linux实验二实验报告.docx

上传人:b****3 文档编号:3849997 上传时间:2022-11-25 格式:DOCX 页数:13 大小:2.01MB
下载 相关 举报
linux实验二实验报告.docx_第1页
第1页 / 共13页
linux实验二实验报告.docx_第2页
第2页 / 共13页
linux实验二实验报告.docx_第3页
第3页 / 共13页
linux实验二实验报告.docx_第4页
第4页 / 共13页
linux实验二实验报告.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

linux实验二实验报告.docx

《linux实验二实验报告.docx》由会员分享,可在线阅读,更多相关《linux实验二实验报告.docx(13页珍藏版)》请在冰豆网上搜索。

linux实验二实验报告.docx

linux实验二实验报告

深圳大学实验报告

 

课程名称:

Linux系统编程

实验项目名称:

进程间通信

学院:

计算机与软件学院

专业:

软件工程

指导教师:

冯禹洪

报告人:

程照原学号2011150216班级:

2

实验时间:

2014/5/23

实验报告提交时间:

教务处制

一、实验目标:

1.掌握管道/命名管道的作用及其在编程中的作用

2.掌握信号的作用及其在编程中的应用

3.掌握客户端-服务器架构及其编程实现

4.感受C库函数的实现与系统调用之间的关系

二、实验环境与工件

1.湖边Linux实验室

2.Fedora13

三、实验内容与步骤

客户端-服务器架构是常用的网络编程架构。

使用我们现学的知识一个简单的客户端服务器可以描绘如图1。

图1.客户端-服务器用FIFO进行通信

其中,服务器(Server)端的功能描述如下:

●后台进程

●从命名管道中读取客户端的请求

●计算结果并将其写到客户端的命名管道

客户端(Client)的功能描述如下:

●通过服务器命名管道发送请求到服务器

●通过自己的命名管道读取服务器消息然后退出

用到的通信机制FIFO和信号处理。

图2是客户端发送给服务器的请求的消息格式,图3是客户端的实现代码,图4是服务器端的实现代码。

图2.客户端发送给服务器的请求的消息格式

图3.client.c的实现

图4.calcserver.c的实现

1、请分析Server与Client的行为以及他们之间的交互,附上相应的运行结果。

运行流程见图5。

另外,并用命令显示公共FIFO相关的信息并解释特征字段含义;(20分)

图5.客户端-服务器的执行

2.请在你的主目录如/home/szu下创建目录,以你的姓名学号命名,例如zhangsan123456,在目录zhangsan123456下建子文件chatapplication,在chatapplication下建data,最后在data下分别建立server_fifo,client_fifo,

请将公共命名管道设置为

/home/szu/zhangsan123456/chatapplication/data/server_fifo/chat_server_fifo

请将私有命名管道设置为

/home/szu/zhangsan123456/chatapplication/data/client_fifo/chat_client$PID_fifo,其中,$PID请用客户端进程id取代

作这样的修改后,以上程序将报错。

请结合题干文件”GDB的使用.ppt”和“用GDB调试多进程程序.jpg”,使用GDB定位出错代码行和修正代码。

请截图演示关键调试步骤、出错代码和修正代码段。

(40分)

由代码可看出,read(my_fifo,buffer,BUFF_SZ)有错误,细查可看出这是离出错最后一次调用mypipename,所以错误应该出在这里。

继续检查info结构的定义发现my_fifo空间只有50个字节,而路径名使其溢出了,所以导致strcpy出错。

将50改为100后成功运行。

3.修改源程序,实现两个Client之间的通信通过Server来传递消息的功能。

请用文字描述你要实现的通信,相应的数据结构说明,并附上相应的代码及运行结果截图。

(40分)

四、实验结果

 

五、实验总结与体会

 

指导教师批阅意见:

成绩评定:

指导教师签字:

年月日

备注:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 卡通动漫

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1