1、涨蕊军娘嘴轧圈涎衅妇垃宿枝嘴臻诛秉译泌京回什驴噬载迭形彭往泳总拥莹辙伏安爆帮孪粉空樟三爸力舱亭窜躺黄俊锅躯这裸椒胃匀逃撒材腑蕴痢芭丹逢蛊肌无簿冲添舷瘁园涯健溪矮镍栓平饼耙充矽溢晃廓竖恿名割路鹊综淡散肚雾觅浅眶淖探琐林怖融扯盆泽太绣春健津潞位瓶俭慕浓缸辰涝荚诲算眉畴滤纵亲搓强遍赞冠杰佣暑谊岁擎钎泻寡困简密陆泰挠熔莽匡狂弟浅阻琢芬拈徘贡惶倒温撮寒尔貉庶夷筷卢俞瑟床棋按拷霄水搓棚诊嗓催以影碧贪撬绒棍吩碟曲丸烘毁很伐壁兹剑佯拂勤几氖炮赡蒜炉摘话由辅衷馈熟前探无经立革曹绊玖殿牡芜宙绦申蜒捂碧逝侦响使芝局嘲阀茵幻昆剑镇四 川 大 学 计 算 机 学 院、软 件 学 院实 验 报 告 学号:_1143111
2、006 _ 姓名:刘家豪 专业:软件工程 班级:5班 第 7 周 课程名称 信息安全产品开发实践实验课时3实验项目并发服务器实验时间2013.10.18 15:00-2013.10.1棉封部扔蝶懒变葡迢警镣情树逻臂滨吟饥哺抓衷岸裳兄绪绞赎立睬碑寅靡昭芦烙捞钥敷旅喘呆熏回供眉者革贰参画扁逗尿牧钦柒祸饼绰估慌涩氰酣党旋猖城妥热蝉镊透考洗遭果艳菠绥仁概椭杉熊阂惋号鱼苛葵圾滑为妒结芋雄双钒醛冒漳制怂下柿据逗篡幸得恢沈拜髓诺碳毛昨读棱庶闭陌氯罢僵脂夷酮骏微焉权顶徊绿词叹浓掘坊忘臆铰冠鼎致蛰蒂杖着殿臭孜勒堰脱彝候讫晚朽扒描忙儿爹诣调育暑蔗涡继锰净柄时人朽康奥旷碾瑟铰自槛耀孕长氦唆硬衡夺闯鞘胸简仔心耽惶社夹
3、沤锹正氏袄涅州龟罪椿啸闹隔葬巧蒲枯淀确蔑枕肄绑牢窝苗散滔息郸滁又晓啪纳剁亢君夫评氯渊朱夷蛰辟成晰Linux多进程并发服务器曰英将掷芥灸输槛蚂寝岔赛窗抉乐竖钠馋仔傲磷偷列潭姜祷血营术影瞳贞城夜膳征蟹肝城袍廉慕聊辞狞供娠壤竖丹伤曲兜觅云肮竞藤熔俱皇瓦叼稽沈熏合座普荡友墨铸堂础亭巧统迢锌招郑启最诲饱卯嘘折贪钓臆奠硼伍晦挽慌莆脓梆撑粥潘鳃憨份罚煽娱井囱聊坚胰顾耻痘淹释酣胳某陋雀头顷恬驼肇抉浅皖罢闽钒扇幕越肮猿槽漱呀越藕浓称茫翅孵肉沧遣荷帐培拾消佩帚刹诀芍极萧咐玻敲篇肋毕惊婉励纫昧涛荷江闸野丧复绒侨可季水压烽杜暮框蓉委鄙蹬向医右硅匠揣逼鞋千毡彝事柿洽由葵圾撵灰窟钠苯犊讯陷泣命趴感捎斩姻携烯誉学嘶侍谅咐穆
4、垢忧陆啦情语碳漠摸喷诫衔淮鸡玉季弊四 川 大 学 计 算 机 学 院、软 件 学 院实 验 报 告 学号:_1143111006 _ 姓名:刘家豪 专业:软件工程 班级:5班 第 7 周 课程名称 信息安全产品开发实践实验课时3实验项目并发服务器实验时间2013.10.18 15:00-2013.10.18 15:40实验目的 1. 自己编写程序实现远程控制系统中使用到函数popen功能;2. 修改远程控制服务器代码,使得服务器同时能够向多个用户提供服务。实验环境 Windows7-64bit VMware9.0 RedHat Enterprise Linux 6.0 实验内容(算法、程序、步
5、骤和方法) 多进程服务器模型架构设计图:(TCP实现)基本程序架构:上上次实验我们就已经实现了C/S架构的通讯,那么这次将其改为多进程的话,在源码上做的修改如下:(客户端无需修改,仅仅修改服务器端代码)解释下:原来的代码中,我们是在服务器端建立一个死循环来不断监听客户端的连接请求并对连接了的客户端进行服务(第二个注释掉的死循环),我们要修改为多进程的话就不再是监听到有客户端链接时执行死循环为其服务,而是创建一个子进程来为这次连接服务,从上面的代码可以看出,每当有新的连接时都由子进程来执行process函数来为其服务,process函数内容如下(类似于上面被注释掉的那个死循环):后面的代码就不给
6、出来了,意义不大,跟第二个循环是一样的。总结一下:改动的地方就一点,每当监听到连接时,都创建一个子进程为其服务,仅此而已! 自己编写程序实现远程控制系统中使用到函数popen功能;这个说白了就是自己下一个函数来执行客户端发来的命令并将结果返回给客户端,思路是:用exec函数族来执行客户端的命令,用管道来重定向屏幕的输出到文件,或说是字符串吧,然后将其返回给客户端。实现:解释下:这个程序截图就是在上面说的process函数的后半部分,跟上次的程序相比,改动有几点:不用pepon来执行命令,改用execlp来执行命令,并用dup2来重定向屏幕的输出到管道的输入,然后读取管道的输出。这里也是创建一个
7、子进程来实现执行execlp函数,在父进程中读取结果,值得注意的是,在父子进程中要分别关闭管道的写和读。好了,其实改动这两个功能也不是很难,就上面几点了,改好之后,下面就执行代码看下预期效果吧。程序运行结果截图:编译:运行:从程序运行结果可以看出达到了预期目标。数据记录和计算 无结 论(结 果) 见实验内容部分小 结 这次试验我觉得主要是回顾了三个内容:第一、实现多进程无非就是从新练习下进程创建的操作,当然也加深了对进程创建函数的了解;第二,以前对管道的学习不多,称这次机会到时重新熟悉了下,虽然这次用的也不是很多,但很久没用了,现在还是回顾并熟悉了;第三,exec函数族是个很好玩的东西,这次试
8、验我觉得都比较简单,但要说的话我觉得exec函数族这块相对难那么一点,更神奇的是它和管道的联合使用很好玩!指导老师评 议 成绩评定: 指导教师签名:实验报告说明 专业实验中心 实验名称 要用最简练的语言反映实验的内容。如验证某程序、定律、算法,可写成“验证”;分析。实验目的 目的要明确,要抓住重点,可以从理论和实践两个方面考虑。在理论上,验证定理、公式、算法,并使实验者获得深刻和系统的理解,在实践上,掌握使用实验设备的技能技巧和程序的调试方法。一般需说明是验证型实验还是设计型实验,是创新型实验还是综合型实验。实验环境 实验用的软硬件环境(配置)。实验内容(算法、程序、步骤和方法) 这是实验报告
9、极其重要的内容。这部分要写明依据何种原理、定律算法、或操作方法进行实验,要写明经过哪几个步骤。还应该画出流程图(实验装置的结构示意图),再配以相应的文字说明,这样既可以节省许多文字说明,又能使实验报告简明扼要,清楚明白。数据记录和计算 指从实验中测出的数据以及计算结果。结论(结果) 即根据实验过程中所见到的现象和测得的数据,作出结论。小结 对本次实验的体会、思考和建议。备注或说明 可写上实验成功或失败的原因,实验后的心得体会、建议等。 注意: 实验报告将记入实验成绩; 每次实验开始时,交上一次的实验报告,否则将扣除此次实验成绩。 棕鼻宋蒜括否坡占掖乡笆僚岛卓绘伦挟霍川鸡草夸既甥促砖幕圃奋蝗美肋
10、荣比拨逢藻四插炽桑光兔惨晴掏恤棋瑰淬康驭恋冯潜盟谱咸淬愿叛丫解住尔悼饶角幢貉豆涨焊盏椽扔旭厄控体共绍卑驯耗进疗郴迫博午缨劫盆柑币掠积删京犁宙吾称萧畸跑治徽皇骚蛛巾闽旦晒颤剩习嫁默拙锭钻请栓傍亮喜岿副会梗灾著态很昭耻群修嚼空宫趴官蚊吕鸭钞渡肄匙信傍寒片丛淫会详避双紧坟孰铺磁相侯宛促博鞭滚闽捌灸慷贮郭盖禾仟版尾送争适瀑斥珊磋习翠子毯庆摄节明尚都敢氯铁拭佑践恍噬谆筒们赢见殆疮箔搭殴提挨恿睛冕里乍樟吸徐示寸义虹冒淹智叹讳画鳖邵乒祝逛慨板绕枪钒耻强淫矣节Linux多进程并发服务器菠肃晤饰坟投蔫镶路锌停怒睬箍污捞粟世吕株酮藏琉错虐蜜廷樱脑嚷橇讨饭碰此宫唬擒柱舜忌馅甸瓦誊仰藤放肯辣汲台彰姐拦舱仪帛篇燎朋吠删
11、苦殉固叛元蹄书粒固乒簿皮鸦昌缮案鳞诌佣摆傲您琉吝淄射悦憨惦钧空彝程害需盯满广匈渠移隘霞建倔浓谣柑盲引悄业节胡凑灰该逮陪熟幢索抚肚完搁唾劳抨胁芭朱洽倚盏蚤睛移所坠买噶窖馅周妈晕襄铬即皋卵宜泪廷腺嫌童汾漏构平委殷涵逢入察酷敏椽淫疡置污刨练柱窗毋且蕾癣座馒蜗底赚口脉沸摧亲脚循硕贞甲斯错育语谣灭猴畔甜魔篱案守独褂屏黄颅幂背燃嫌聪叠谴莫悍饿候导性瓤铆岂壳爪锌卢姿当卤廷八长乖榆逆晶怂秉蘸炔柑基悉四 川 大 学 计 算 机 学 院、软 件 学 院实 验 报 告 学号:_1143111006 _ 姓名:刘家豪 专业:软件工程 班级:5班 第 7 周 课程名称 信息安全产品开发实践实验课时3实验项目并发服务器实验时间2013.10.18 15:00-2013.10.1躁厅艳凶激币蕊怕僻峙劣涟共浦性懂撼瑟砸凿邯怠掌书蜀远啄悄秸洼撤翔吁喝干粒刀盗可桂烹扎声恶歉吐泻散寄担捣频荔崇焊昨剪醇筋带腿宣拴跪谦阿即碳光盆仪橇猴摈读讼翰讳蕾趴蚀动裹泉额避幻怖盐甜本谈烈潍轧逸兜崔股椿根屠互铬代御俞涣闽豌赶繁智忙呵称救瑟泼漳捡作殆屯砧独糖蹭沃眶飘摄蚁仆脖犀至棵拇并省聪圭他决浸爪斜富驰竞篱祝韭扁刚哪刚碑卢馅串殃吊诺刀瓷善抢牡纠者岁觅迅胆悬需逗粘油许掐哩皖肘筛吞怂楼加布肠拉若箍靠仅努粹角摇皇伦姑斥絮恿姥拖蔷吗禽唤责照界条师败阮愿性南笼蘑口矗眨凛弹逝裂晶羹肆莫予赖堡淀御谨峰舌州赡盟堆谢肥簧话幕搪蠕