基于UDP的文件传输

B.1     基于UDP的文件传输


代码下载地址:http://download.csdn.net/detail/xsl1990/4970910



内容:

我们需要在客户和服务器间传送一个文件。

流程:

1.客户端向服务器发送请求的文件名;

2.服务器打开相应的文件,把文件内容读出并传送给客户端;

3.客户端收到数据后把它写入本地文件中;

要求:

完成UDP的客户、服务器程序;

服务器的固定端口号为20000;

文件发送的结束以一个长度为零的UDP报文作为标志;

对于超大文件,要求实现简单的流量控制;

研究每次发送的数据包大小对传输时间的影响。

观察并思考:

按如下要求修改代码,观察并回答如下的问题(套接口函数出错时,输出错误代码):

1.       发送长度为65535(超过UDP最大长度65507)字节的数据,观察结果。

2.       接收端开辟的接收缓冲区(1000字节)小于发送端发送的数据长度(1024字节),观察结果。

3.       根据局域网的最大传输单元(MTU)来设计合适大小的UDP报文是多少?

4.       测试大文件(>100MB)的读取时间,研究块的大小对文件读取是否有影响。[int GetTickCount()可获取时间]

块的大小

1K

10K

50K

100K

 

读取时间

 

 

 

 

 

 

5.       研究块的大小对文件传输的影响

块的大小

1K

10K

50K

100K

 

读取传输时间

 

 

 

 

 

 

6.       其它您有疑问的地方?


基于udp文件传输  代码比较简单   就是添加了一些文件操作的内容

原理图如下:





服务器:







实验效果图如下:

现在服务器输入你要写入的空白文件

注意路径的输入形式

D:\\********


服务器效果图:




客服端图:





路径输入顺序:

先在服务器端输入文件路径  也就是空白的文件路径

再在客户端输入传送的文件路径

具体代码  这里就不给出了


稍后给出下载地址  

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值