freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

使用socket通信實現(xiàn)ftp客戶端程序(編輯修改稿)

2025-08-03 12:49 本頁面
 

【文章內(nèi)容簡介】 _sock, read_buf, read_len)。客戶端讓 FTP 服務(wù)器進入被動模式當客戶端在下載/上傳文件前,要先發(fā)送命令讓服務(wù)器進入被動模式。服務(wù)器會打開數(shù)據(jù)端口并監(jiān)聽。并返回響應(yīng)碼 227 和數(shù)據(jù)連接的端口號。圖 3. 客戶端讓服務(wù)器進入被動模式清單 3. 讓服務(wù)器進入被動模式,在數(shù)據(jù)端口監(jiān)聽/* 命令 ”PASV\r\n” */sprintf(send_buf,PASV\r\n)。/* 客戶端告訴服務(wù)器用被動模式 */write(control_sock, send_buf, strlen(send_buf))。/*客戶端接收服務(wù)器的響應(yīng)碼和新開的端口號,* 正常為 ”227 Entering passive mode (h1,h2,h3,h4,p1,p2)” */read(control_sock, read_buf, read_len)。客戶端通過被動模式下載文件當客戶端發(fā)送命令下載文件。服務(wù)器會返回響應(yīng)碼 150,并向數(shù)據(jù)連接發(fā)送文件內(nèi)容。圖 4. 客戶端從FTP服務(wù)器端下載文件清單 4. 客戶端連接到 FTP 服務(wù)器的數(shù)據(jù)端口并下載文件/* 連接服務(wù)器新開的數(shù)據(jù)端口 */connect(data_sock,(struct sockaddr *)amp。server, sizeof(server))。/* 命令 ”CWD dirname\r\n” */sprintf(send_buf,CWD %s\r\n, dirname)。/* 客戶端發(fā)送命令改變工作目錄 */write(control_sock, send_buf, strlen(send_buf))。/* 客戶端接收服務(wù)器的響應(yīng)碼和信息,正常為 ”250 Command okay.” */read(control_sock, read_buf, read_len)。/* 命令 ”SIZE filename\r\n” */sprintf(send_buf,SIZE %s\r\n,filename)。/* 客戶端發(fā)送命令從服務(wù)器端得到下載文件的大小 */write(control_sock, send_buf, strlen(send_buf))。/* 客戶端接收服務(wù)器的響應(yīng)碼和信息,正常為 ”213 size” */read(control_sock, read_buf, read_len)。/* 命令 ”RETR filename\r\n” */sprintf(send_buf,RETR %s\r\n,filename)。/* 客戶端發(fā)送命令從服務(wù)器端下載文件 */write(control_sock, send_buf, strlen(send_buf))。/* 客戶端接收服務(wù)器的響應(yīng)碼和信息,正常為 ”150 Opening data connection.” */read(control_sock, read_buf, read_len)。/* 客戶端創(chuàng)建文件 */file_handle = open(disk_name, CRFLAGS, RWXALL)。for( 。 。 ) {... .../* 客戶端通過數(shù)據(jù)連接 從服務(wù)器接收文件內(nèi)容 */read(data_sock, read_buf, read_len)。/* 客戶端寫文件 */write(file_handle, read_buf, read_len)。... ... }/* 客戶端關(guān)閉文件 */rc = close(file_handle)。客戶端退出服務(wù)器當客戶端下載完畢后,發(fā)送命令退出服務(wù)器,并關(guān)閉連接。服務(wù)器會返回響應(yīng)碼 200。圖 5. 客戶端從 FTP 服務(wù)器退出清單 5. 客戶端關(guān)閉數(shù)據(jù)連接,退出 FTP 服務(wù)器并關(guān)閉控制連接/* 客戶端關(guān)閉數(shù)據(jù)連接 */close(data_sock)。/* 客戶端接收服務(wù)器的響應(yīng)碼和信息,正常為 ”226 Transfer plete.” */read(control_sock, read_buf, read_len)。/* 命令 ”QUIT\r\n” */sprintf(send_buf,QUIT\r\n)。/* 客戶端將斷開與服務(wù)器端的連接 */write(control_sock, send_buf, strlen(send_buf))。/* 客戶端接收服務(wù)器的響應(yīng)碼,正常為 ”200 Closes connection.” */read(control_sock, read_buf, read_len)。/* 客戶端關(guān)閉控制連接 */close(control_sock)。至此,下載文件已經(jīng)完成。需要注意的是發(fā)送 FTP 命令的時候,在命令后要緊跟 “\r\n”,否則服務(wù)器不會返回信息。回車換行符號 “\
點擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1