实验三_基于UDP的文件传输

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三 基于UDP 的文件传输

内容:

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

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

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

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

要求:

完成UDP 的客户、服务器程序; 服务器的固定端口号为20000;

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

文件发送方

文件接收方

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

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

观察并思考:

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

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

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

字节),观察结果。

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

少?

4.测试大文件(>100MB)的读取时间,研究块的大小对文件读取是否有

影响。[int GetTickCount()可获取时间]

1注意:在接收端把收到的数据写入文件系统时,常常会因为文件写入时间过长而导致UDP数据来不及接收、数据丢失的情况。因此,在测试此项内容时,可以不保存收到的数据(即不写入文件中而直接丢弃掉),专注于数据读取传输时间的研究。

相关文档
最新文档