Socket目录下面的C程序实现了单向rcp功能
用法:
启动服务器端,会监听3333端口
./server
使用客户端,格式为
./client www.tar.gz 192.168.100.214 /home/alex/test.tar.gz
这样就可以把本地的www.tar.gz文件通过Socket的方式传送到192.168.100.214上的/home/alex/test.tar.gz
实现方法:
定义了一个struct如下:
typedef struct fileinfo {
char fname[50];
long length;
}FILEINFO, *Pfileinfo;
通信开始时会先将一个结构体传送到服务器端,服务器接收到结构体后,根据接收到的fname创建文件,根据length结束数据接收。
编译:
gcc -o server server.c
gcc -o client client.c
findit是shell程序的递归实现
用法:
PATH=$PATH:$HOME/bin
findit write $HOME
就可以把$HOME下所有的.c .h中带有write的行显示出来
findit-sim是shell程序的非递归实现,使用了find命令与grep
用法:
./findit write $HOME
可以把$HOME下所有的.c .h中带有write的行显示出来
两者比较:
由于findit是用shell创建子进程的方式来实现递归,所以单就本题的内容来进行比较的话会低很多,但在其它一些使用环境中可能可以实现较高的效率。
没有合适的资源?快使用搜索试试~ 我知道了~
远程进程通信+shell
共8个文件
c:3个
findit-sim:1个
h:1个
5星 · 超过95%的资源 需积分: 41 184 下载量 82 浏览量
2007-12-26
11:42:03
上传
评论
收藏 4KB RAR 举报
温馨提示
分别编一个客机程序和服务器程序,首先建立客户程序与服务器之间正确的socket连结,然后利用send和recv函数,客户程序将一个较长的文本文件(如几k字节)中的数据发送给服务器。要求服务器全部正确地接收到所有的数据(一个也不能少),并将其存入一个文件。<br>注意,先要传文件的大小(简单的方法是服务器知道文件的大小),服务器方生成子进程后要循环地接受数据,直至文件数据全部收到。<br>在异种机之间测试程序。比较服务器收到的文件中的数据和客户机原先文件中数据是否完全相同。文本文件测试完成后,可再用二进制文件测试。 <br>1.编写一个shell程序 findit,该程序搜索参数1指定的目录树,查找所有的以 .c和 .h结尾的文件,如文件行中含有参数2指定的字符串,显示该行和相应的文件名。如目录参数1缺省,则从当前目录中搜索。如:<br> ./findit /home/student/wang searchstring<br> 搜索以 /home/student/wang为根的目录树中的c程序和头文件,查找含有searchstring字符串的行,显示文件名。<br> ./findit searchstring<br> 从当前目录开始搜索。请用含有shell特殊字符的字符串模式进一步调试该shell程序。 <br>为了便于查找当前目录或登录目录下如wang目录中的执行文件 findit,可以在当前Shell中执行:<br> PATH=.:$HOME/wang:$PATH
资源推荐
资源详情
资源评论
收起资源包目录
试验4.rar (8个子文件)
试验4
findit 513B
findit-sim 95B
Socket
server.c 1KB
sockcom.h 303B
error.c 102B
client.c 1KB
server.c.bak 1KB
readme.txt 983B
共 8 条
- 1
资源评论
- ytsmtxxi2016-04-26作业题目,时间紧,直接拿下来就可以成功运行, 不错
- youzhan02162013-08-26作业题目,代码成功运行
- 123hh2013-12-12作业题目,代码成功运行
- huasheng822012-06-25- -作业题目,代码成功运行
DD_Anady
- 粉丝: 6
- 资源: 9
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功