1 回答

TA貢獻(xiàn)1872條經(jīng)驗(yàn) 獲得超4個(gè)贊
沒(méi)有看到全文:也許注釋是不準(zhǔn)確的;只能根據(jù)大概判斷大概什么意思,以及每條語(yǔ)句的意思buf[LINELEN]='\0';//字符串結(jié)尾outchars=strlen(buf);//計(jì)算buf的長(zhǎng)度(void)send(s,buf,outchars,0);//Socket函數(shù);這個(gè)庫(kù)函數(shù)自己查什么意思,寫(xiě)不清,反正是發(fā)送的函數(shù)Sleep(1000);//windows函數(shù),等待1000毫秒cc=recv(s,inbuf,LINELEN,0);//Socket函數(shù);這個(gè)庫(kù)函數(shù)自己查什么意思,可以理解為接受函數(shù),但是實(shí)際是接受是協(xié)議的工作,這個(gè)函數(shù)的工作只是copy協(xié)議接受到字符inbuf[cc]='\0';//字符串結(jié)尾fputs(inbuf,stdout);//輸出到標(biāo)準(zhǔn)輸出,通常是顯示器inbuf[3]='\0';//字符串截?cái)鄆f(strcmp(inbuf,"250")==0)//截?cái)嗪髮?duì)比字符串fputs("HELO,OK",stdout);//輸出到標(biāo)準(zhǔn)輸出elseMessageBox("socketrecvfailed");//否則彈出窗口,提示接受錯(cuò)誤;//sendMAILFROMfgets(buf,sizeof(buf),stdin);//從標(biāo)準(zhǔn)輸入獲取字符;buf[LINELEN]='\0';//字符串結(jié)尾outchars=strlen(buf);//計(jì)算大小(void)send(s,buf,outchars,0);//同上Sleep(1000);//同上cc=recv(s,inbuf,LINELEN,0);//同上inbuf[cc]='\0';//同上fputs(inbuf,stdout);//同上inbuf[3]='\0';//同上if(strcmp(inbuf,"250")==0)//同上fputs("MAILFROM,OK",stdout);//同上elseMessageBox("mailfromerror");//同上//sendRCPTTOfgets(buf,sizeof(buf),stdin);//同上buf[LINELEN]='\0';//同上outchars=strlen(buf);//同上(void)send(s,buf,outchars,0);//同上Sleep(1000);cc=recv(s,inbuf,LINELEN,0);inbuf[cc]='\0';fputs(inbuf,stdout);inbuf[3]='\0';if(strcmp(inbuf,"250")==0)fputs("RCPTTO,OK",stdout);elseMessageBox("recpterror");//sendDATAfgets(buf,sizeof(buf),stdin);buf[LINELEN]='\0';outchars=strlen(buf);(void)send(s,buf,outchars,0);Sleep(1000);cc=recv(s,inbuf,LINELEN,0);inbuf[cc]='\0';fputs(inbuf,stdout);inbuf[3]='\0';if(strcmp(inbuf,"354")==0)fputs("DATA,OK",stdout);elseMessageBox("dataerror");//sendDATAfgets(buf,sizeof(buf),stdin);buf[LINELEN]='\0';//strcat(buf,tmp);outchars=strlen(buf);(void)send(s,buf,outchars,0);//一直到上面為止,都是一個(gè)意思,為什么要這樣寫(xiě),這個(gè)得根據(jù)這個(gè)程序做什么用才能判斷;即理解進(jìn)作者的思想才能判斷;但是大概是2方交互軟件;Sleep(500);char*tmp;tmp="\r\n.\r\n";fputs(tmp,stdout);(void)send(s,tmp,6,0);Sleep(1000);cc=recv(s,inbuf,LINELEN,0);inbuf[cc]='\0';fputs(inbuf,stdout);inbuf[3]='\0';if(strcmp(inbuf,"250")==0)fputs("DATACompleted,OK",stdout);elseMessageBox("DATACompleted,ERROR");//上面這一段也就是傳輸?shù)淖饔茫?/p>
- 1 回答
- 0 關(guān)注
- 114 瀏覽
添加回答
舉報(bào)