《远程进程socket通信.ppt》由会员分享,可在线阅读,更多相关《远程进程socket通信.ppt(7页珍藏版)》请在金锄头文库上搜索。
1、实验四实验四(一)(一)实验目的实验目的进进一一步步理理解解套套接接字字通通信信的的基基本本原原理理和和机机制制,通通过过编编制制一一个个实实用用的的异异机机socket通通信信程程序序,深入掌握套接字编程的方法和细节。深入掌握套接字编程的方法和细节。 一、远程进程一、远程进程socket通信通信 (二)(二)实验题目实验题目分分别别编编一一个个客客户户端端程程序序和和服服务务器器程程序序,首首先先建建立立客客户户程程序序与与服服务务器器之之间间正正确确的的socket连连结结,然然后后利利用用send和和recv函函数数,客客户户程程序序将将一一个个较较长长的的文文本本文文件件(如如1k字字
2、节节)(目目的的是是为为了了在在一一次次连连接接测测试试多多次次的的收收/发发)中中的的数数据据发发送送给给服服务务器器。要要求求服服务务器器全全部部正正确确地地接接收收到到所所有有的的数数据据(一个也不能少),并将其存入一个文件。(一个也不能少),并将其存入一个文件。注注意意,先先要要传传文文件件的的大大小小(简简单单的的方方法法是是服服务务器器知知道道文文件件的的大大小小)。要要修修改改书书上上的的程程序序,服服务务器器方方生生成成子子进进程程后后要要循循环环地地接接受受数数据据,直直至至文件数据全部收到。文件数据全部收到。(三)(三)测试要求测试要求n如有可能,最好在异地机之间测试程序。
3、如有可能,最好在异地机之间测试程序。比较服务器收到的文件中的数据和客户比较服务器收到的文件中的数据和客户机原先文件中数据是否完全相同。文本机原先文件中数据是否完全相同。文本文件测试完成后,可再用二进制文件测文件测试完成后,可再用二进制文件测试。试。 二、二、 Shell程序设计程序设计 n(一)(一)实验目的实验目的 shell是一种高层次的程序设计语言。学是一种高层次的程序设计语言。学习和掌握习和掌握shell程序设计能提高软件开发程序设计能提高软件开发的效率,对于系统管理也是必经之路。的效率,对于系统管理也是必经之路。 (二)(二)实验题目实验题目 1编编写写一一个个递递归归的的shell
4、程程序序 findit,该该程程序序搜搜索索参参数数2指指定定的的目目录录树树,查查找找所所有有的的以以 .c和和 .h结结尾尾的的文文件件,如如文文件件行行中中含含有有参参数数1指指定定的的字字符符串串,显显示示该该行行和和相相应应的的文文件件名名。如如目目录录参参数数2缺缺省省,则则从从当当前目录中搜索。如:前目录中搜索。如: findit searchstring /home/student/wang 搜搜索索以以 /home/student/wang为为根根的的目目录录树树中中的的c程程序序和和头头文文件件,查查找找含含有有searchstring字字符符串串的的行行,显示文件名。显示
5、文件名。 findit searchstring 从从当当前前目目录录开开始始搜搜索索。请请用用含含有有shell特特殊殊字字符符的的字字符串模式进一步调试该符串模式进一步调试该shell程序。程序。 为了在递归程序中便于查找执行文件为了在递归程序中便于查找执行文件 findit,例如,例如findit位于登录主目录下的位于登录主目录下的wang目录目录中,的可以在当前中,的可以在当前Shell中执行中执行:PATH=.:$HOME/wang:$PATH 也可以在递归程序中用绝对路径名执行也可以在递归程序中用绝对路径名执行findit:/home/student/wang/findit有时间的同学请练练实验有时间的同学请练练实验3的的文件系统命令、文件系统命令、生成库的命令、生成库的命令、简单的简单的Make。