FTP協(xié)議
? ? FTP 的獨特的優(yōu)勢同時也是與其它客戶服務器程序最大的不同點就在于它在兩臺通信的主機之間使用了兩條 TCP 連接,一條是數(shù)據(jù)連接,用于數(shù)據(jù)傳送;另一條是控制連接,用于傳送控制信息(命令和響應),這種將命令和數(shù)據(jù)分開傳送的思想大大提高了 FTP 的效率,而其它客戶服務器應用程序一般只有一條 TCP 連接。在整個交互的 FTP 會話中,控制連接始終是處于連接狀態(tài)的,數(shù)據(jù)連接則在每一次文件傳送時先打開后關閉
FTP客戶端項目
? ? 實現(xiàn)功能:
? ? ? ? 登錄
? ? ? ? pwd
? ? ? ? cd
? ? ? ? mkdir
? ? ? ? rmdir
? ? ? ? delete
? ? ? ? bye
? ? ? ? ls
? ? ? ? put
? ? ? ? get
? ? 注意:發(fā)送的命令要以'\n'結尾,否則服務器無法識別文章來源:http://www.zghlxwxcb.cn/news/detail-689279.html
// ?登錄
[15:06:06] [R] 正在連接到 47.97.229.46 -> IP=47.97.229.46 PORT=21
[15:06:06] [R] 已連接到 47.97.229.46
[15:06:06] [R] 220 (vsFTPd 3.0.2)
// ?發(fā)送用戶名
[15:06:06] [R] USER student
[15:06:06] [R] 331 Please specify the password.
// ?發(fā)送密碼
[15:06:06] [R] PASS (hidden)
[15:06:06] [R] 230 Login successful.
[15:06:06] [R] OPTS UTF8 ON
[15:06:06] [R] 200 Always in UTF8 mode.
// ?pwd
[15:06:06] [R] PWD
[15:06:06] [R] 257 "/home/student"
// ?ls
// ?開啟PASV數(shù)據(jù)通道
[15:06:06] [R] PASV
[15:06:06] [R] 227 Entering Passive Mode (172,16,83,85,89,59).
[15:06:06] [R] 正在打開數(shù)據(jù)連接 IP: 47.97.229.46 端口: 22843
[15:06:06] [R] LIST -al
[15:06:06] [R] 150 Here comes the directory listing.
[15:06:06] [R] 226 Directory send OK.
// ?cd
[15:06:15] [R] CWD C++2307-1
[15:06:15] [R] 250 Directory successfully changed.
// ?mkdir
[15:06:30] [R] MKD dir
[15:06:30] [R] 257 "/home/student/C++2307-1/dir" created
// ?rmdir
[15:06:41] [R] RMD dir
[15:06:41] [R] 250 Remove directory operation successful.
[15:07:36] [R] TYPE A
[15:07:36] [R] 200 Switching to ASCII mode.
[15:07:36] [R] SIZE network.h
[15:07:36] [R] 213 913
[15:07:36] [R] MDTM network.h
[15:07:36] [R] 213 20230811033936
// ?get
[15:07:36] [R] PASV
[15:07:36] [R] 227 Entering Passive Mode (172,16,83,85,97,119).
[15:07:36] [R] 正在打開數(shù)據(jù)連接 IP: 47.97.229.46 端口: 24951
[15:07:36] [R] RETR network.h
[15:07:36] [R] 150 Opening BINARY mode data connection for network.h (913 bytes).
[15:07:36] [R] 226 Transfer complete.
// ?put
[15:08:00] [R] PASV
[15:08:00] [R] 227 Entering Passive Mode (172,16,83,85,39,64).
[15:08:00] [R] 正在打開數(shù)據(jù)連接 IP: 47.97.229.46 端口: 10048
[15:08:00] [R] STOR Linux環(huán)境編程day01.c
[15:08:00] [R] 150 Ok to send data.
[15:08:00] [R] 226 Transfer complete.
[15:08:00] [R] MDTM 20230731085722 /home/student/Linux環(huán)境編程day01.c
[15:08:00] [R] 213 File modification time set.
// ?delete 文件
[15:08:15] [R] DELE Linux環(huán)境編程day01.c
[15:08:15] [R] 250 Delete operation successful.
[15:08:15] 已刪除 1 個文件 和 0 個文件夾 (11 KB) 耗時 0.03 秒
// ?上傳 ?斷點續(xù)傳
[17:05:52] [R] TYPE I
[17:05:52] [R] 200 Switching to Binary mode.
[17:05:52] [R] SIZE 20221203_134016.mp4
[17:05:52] [R] 550 Could not get file size.
[17:05:52] [R] PASV
[17:05:52] [R] 227 Entering Passive Mode (172,16,83,85,80,71).
[17:05:52] [R] 正在打開數(shù)據(jù)連接 IP: 47.97.229.46 端口: 20551
[17:05:52] [R] STOR 20221203_134016.mp4
[17:05:52] [R] 150 Ok to send data.
[17:05:57] (軟中止 - 發(fā)送“ABOR”命令)
[17:05:57] [R] 226 Transfer complete.
[17:05:57] [R] QUIT
[17:05:57] [R] 傳輸失敗: 20221203_134016.mp4
[17:05:57] [R] 已注銷: 47.97.229.46 (持續(xù)時間: 54 秒)
[17:05:57] 已傳輸 0 個文件 (0 字節(jié)) 耗時 5 秒 (0.0 KB/s)
[17:05:57] 已被用戶中止
// ?續(xù)傳
[17:06:51] [R] TYPE I
[17:06:51] [R] 200 Switching to Binary mode.
[17:06:51] [R] SIZE 20221203_134016.mp4
[17:06:51] [R] 213 26083328
[17:06:51] [R] MDTM 20221203_134016.mp4
[17:06:51] [R] 213 20230814090557
[17:06:51] [R] PASV
[17:06:51] [R] 227 Entering Passive Mode (172,16,83,85,132,250).
[17:06:51] [R] 正在打開數(shù)據(jù)連接 IP: 47.97.229.46 端口: 34042
[17:06:51] [R] REST 26083328
[17:06:51] [R] 350 Restart position accepted (26083328).
[17:06:51] [R] STOR 20221203_134016.mp4
[17:06:51] [R] 150 Ok to send data.
[17:07:03] (軟中止 - 發(fā)送“ABOR”命令)
[17:07:03] [R] 226 Transfer complete.
[17:07:04] [R] 傳輸失敗: 20221203_134016.mp4 (50.63 MB / 415.36 MB) 耗時 11 秒 (4.47 MB/s)
[17:07:04] 已傳輸 0 個文件 (0 字節(jié)) 耗時 12 秒 (0.0 KB/s)
[17:07:04] 已被用戶中止
[17:07:10] [R] PASV
[17:07:10] [R] 227 Entering Passive Mode (172,16,83,85,153,212).
[17:07:10] [R] 正在打開數(shù)據(jù)連接 IP: 47.97.229.46 端口: 39380
[17:07:10] [R] LIST -al
[17:07:10] [R] 150 Here comes the directory listing.
[17:07:10] [R] 226 Directory send OK.
[17:07:10] [R] 列表完成: 1 KB 耗時 0.06 秒 (1.9 KB/s)
[17:07:14] [R] SIZE 20221203_134016.mp4
[17:07:14] [R] 213 79167488
[17:07:14] [R] MDTM 20221203_134016.mp4
[17:07:14] [R] 213 20230814090704
[17:07:14] [R] PASV
[17:07:14] [R] 227 Entering Passive Mode (172,16,83,85,134,255).
[17:07:14] [R] 正在打開數(shù)據(jù)連接 IP: 47.97.229.46 端口: 34559
[17:07:14] [R] REST 79167488
[17:07:14] [R] 350 Restart position accepted (79167488).
[17:07:14] [R] STOR 20221203_134016.mp4
[17:07:14] [R] 150 Ok to send data.
[17:07:23] (軟中止 - 發(fā)送“ABOR”命令)
[17:07:23] [R] 226 Transfer complete.
[17:07:24] [R] 傳輸失敗: 20221203_134016.mp4 (42.13 MB / 415.36 MB) 耗時 9 秒 (4.65 MB/s)
[17:07:24] 已傳輸 0 個文件 (0 字節(jié)) 耗時 10 秒 (0.0 KB/s)
[17:07:24] 已被用戶中止
ftp客戶端項目 (gitee)文章來源地址http://www.zghlxwxcb.cn/news/detail-689279.html
到了這里,關于網(wǎng)絡編程day3-FTP客戶端項目的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!