Я пишу 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 кБ / с, хотя я загружаю файл на тот же компьютер. Но когда человек загрузил один файл, используя ftp, через локальную сеть (его машина была ubuntu), скорость загрузки составила 10 МБ / с. Я не могу понять логику этого.
Примечание. Я использую FTP-сервер FileZilla, который позволяет отображать скорость загрузки / получения файла клиента.