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

正文內(nèi)容

文件傳輸協(xié)議的c語言實(shí)現(xiàn)(存儲(chǔ)版)

2025-06-29 22:04上一頁面

下一頁面
  

【正文】 ********************************************函數(shù)名:smdfun說明: 用于處理來自客戶端的當(dāng)前文件夾新建命令***********************************************************************/int smdfun(SOCKET h_NewSocket){ Printf(“篇幅所限,請讀者完成。 // 服務(wù)器的IP地址char sz_Msg2Snd[1024]。 //cd命令處理函數(shù)int mdfun(SOCKET h_Socket4Cmd,char DocName[20])。 struct hostent *host = NULL。 } h_Socket4Cmd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)。 return 1。 else if (ret == SOCKET_ERROR) { printf(recv function failed,error_num: %d\n, WSAGetLastError())。 szBuffer[ret] = 39。 continue。 continue。 continue。***********************************************************************/int dirfun(SOCKET h_Socket4Cmd){ int ret。 } while(!b_IsSendOnly) { //讀取流并顯示 ret = recv(h_Socket4Cmd, szBuffer, 80, 0)。 if(strncmp(szBuffer,500 Syntax error,strlen(500 Syntax error))==0) break。 strcat(sz_Msg2Snd, get$)。 szBuffer[ret] = 39。 else if (ret == SOCKET_ERROR) { printf(receive function failed,error_num: %d\n, WSAGetLastError())。}/***********************************************************************函數(shù)名:putfun說明: 按協(xié)議規(guī)則構(gòu)建文件上傳命令并發(fā)送到服務(wù)器輸入?yún)?shù): SOCKET h_Socket4Cmd,通過此socket發(fā)送命令到服務(wù)器。 char pathname[40], 欲設(shè)置的路徑名***********************************************************************/int cdfun(SOCKET h_Socket4Cmd,char pathname[40]){ Printf(“篇幅所限,請讀者完成。 char FileName[40], 欲設(shè)新建的文件夾名**********************************************************************/int delfun(SOCKET h_Socket4Cmd,char FileName[20]){ Printf(“篇幅所限,請讀者完成。 puts(md :在遠(yuǎn)方新建文件夾)。[2] 賴特 (Wright), 史蒂文斯 (Stevens), 陸雪瑩 (譯)。}6 參考文獻(xiàn)[1] 特南鮑姆 (Tanenbaum .), 潘愛民 (譯)。 puts(pwd:顯示遠(yuǎn)方當(dāng)前路徑)。 return 0。 return 0。 printf(transfer is pleted!\n)。 } while(!b_IsSendOnly) { //讀取流,每次80個(gè)字節(jié) ret = recv(h_Socket4Cmd, szBuffer, 80, 0)。 } printf(Send %d bytes successfully!\n, ret)。 sz_Msg2Snd[0]=39。 if(strncmp(szBuffer,226 Close,strlen(226 Close))==0) break。 else if (ret == SOCKET_ERROR) { printf(send funtion failed,error_num: %d\n, WSAGetLastError())。 return 0。 continue。 scanf(%s, CmdWords2)。 scanf(%s, CmdWords)。 if (ret == 0) return 0。 } //接收服務(wù)器歡迎消息并打印到屏幕 ret = recv(h_Socket4Cmd, szBuffer, DEFAULT_BUFFER_SIZE, 0)。 if ( == INADDR_NONE) { host = gethostbyname(sz_ServIp)。wsd) != 0) //winsock初始化 { printf(Failed to load Winsock library!\n)。 int ret。 //put命令處理函數(shù)int pwdfun(SOCKET)。} 客戶端程序文件/*********************************************************************文件名: 說明: 簡單的ftp客戶端程序文件,包含main函數(shù)及get、put等命令發(fā)送函數(shù)。\n”); iSynError=0。 return 0。 while (fgets(temp_buffer,80,fp)!=NULL) { //循環(huán)讀取文件并通過h_NewSocket發(fā)送到客戶端 sprintf(SendBuffer,%s,temp_buffer)。 //打開客戶端欲下載的文件 if( (fp=fopen(p_FileName,r)) == NULL ) { //未成功打開文件 sprintf(SendBuffer, Sorry, cannot open %s. Please try again.\r\n, FileName)。) { i++。 FileName[k]=RecvBuffer[i]。 char FileName[20],temp_buffer[80]。 system(del )。 //system函數(shù)執(zhí)行shell命令 p_FiLeTemp=fopen(,r)。**********************************************************************/int sdirfun(SOCKET h_NewSocket){ char temp_buffer[80]。 } if (iSynError==1) //Syntax error { printf(mand unrecognized, nonimplemented!\n)。 //文件上傳 if (strncmp(RecvBuffer,put,3)==0) sputfun(h_NewSocket)。 } if ((bytes 0) || (bytes == 0)) break。 if (RecvBuffer[n] == 39。 //向客戶端發(fā)送歡迎消息 bytes = send(h_NewSocket, SendBuffer, strlen(SendBuffer), 0)。 while (1) { //主循環(huán) listen(h_Socket4Lstn,3)。 //創(chuàng)建socket h_Socket4Lstn = socket(PF_INET, SOCK_STREAM, 0)。/***********************************************************************函數(shù)名:main說明: 主函數(shù)輸入?yún)?shù): int argc 輸入?yún)?shù)長度 char *argv[]輸入?yún)?shù),用于傳入監(jiān)聽端口號***********************************************************************/int main(int argc, char *argv[]) { struct sockaddr_in SLocalAddr。int iSynError=1。5程序代碼 服務(wù)器端程序文件/*********************************************************************文件名: 說明: 簡單的ftp服務(wù)器端程序文件,包含main函數(shù)及get、put等命令處理函數(shù)??蛻魴C(jī)和服務(wù)器的命令格式約定為“命令字$路徑名/文件名”,“命令字$路徑名/文件名”。如果已有連接請求到來,該函數(shù)會(huì)返回一個(gè)新的套接字描述符,它對應(yīng)于已經(jīng)接受的那個(gè)客戶端連接。在應(yīng)用程序關(guān)閉套接字后,還應(yīng)調(diào)用WSACleanup( ),釋放資源。默認(rèn)情況下,這些I/O操作工作于阻塞模式。和其他系統(tǒng)資源一樣,
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1