【发布时间】:2011-03-31 05:53:45
【问题描述】:
我正在编写一个 ftp 客户端来上传文件。伪代码如下所示
{
command_Socket = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
login...//
pass.. // passive mode
get the address from the reply ... //
data_Socket = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
connect the data_Socket to that address ..//
open the file using createFile(....) //
loop
{
char buf[1000];
readFile and fill the buf //
send(dataSocket,buf,..);
}
}
现在,问题是上传速度是 20 kB/s,即使我在同一台机器上上传文件。但是当一个人使用ftp上传一个文件时,通过局域网(他的机器是ubuntu),上传速度是10MB/s。我无法理解这背后的逻辑。
注意:我使用的是 FileZilla FTP 服务器,它可以显示客户端文件的上传/到达速度。
【问题讨论】:
标签: c++ winapi visual-c++ ftp logic