代码下载地址: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:\********
服务器效果图:
客服端图:
路径输入顺序:
先在服务器端输入文件路径 也就是空白的文件路径
再在客户端输入传送的文件路径
具体代码 这里就不给出了
稍后给出下载地址