91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 152KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-05
  • 語言: C/C++
  • 標簽: linux??ftp??c語言??

資源簡介

利用tcp套接字編程實現,均已Debug,代碼有中文注釋

資源截圖

代碼片段和文件信息

#include?“include.h“												//?引用列表
#include?“string.h“
#include?“command.h“ //?標準命令

//?讀取Socket上的信息并且保存到緩存區
int?readBuffer(int?socket?char?*buffer?int?size?int?singleLine)?{
clearStr(buffer);
int?result?=?read(socket?buffer?size);
if?(result?==?-1)?{
return?-1;
}
if?(singleLine)?{
firstLine(buffer);
return?strlen(buffer);
}
cutStr(buffer?result);
return?result;
}

//?進入被動模式并且返回數據Socket號
int?passive(int?serverSocket?struct?sockaddr_in?data)?{
char?cmd[STR_MAX_LENGTH];
char?buffer[STR_MAX_LENGTH];
int?result;
//strcpy(cmd?“TYPE?I\r\n“); //?進入二進制模式傳遞信息
//result?=?send(serverSocket?cmd?strlen(cmd)?0);
//result?=?recv(serverSocket?buffer?sizeof(buffer)0);
//printf(“%s“?buffer);
strcpy(cmd?“PASV\r\n“);?//?被動模式命令
result?=?send(serverSocket?cmd?strlen(cmd)?0);
if?(result? printf(“Error:?Sending?on?stream?socket.\n“);
return?-1;
}?else?{
readBuffer(serverSocket?buffer?sizeof(buffer)?1);?//?接受服務器消息
if?(getCommandNo(buffer)?!=?227)?{
return?-1;
}
int?temp[6];?//?解析服務器消息
getNumbersAfter(buffer?‘(‘?temp?6);
int?portNo?=?temp[4]?*?256?+?temp[5];?//?獲取端口號
printf(“%d\r\n“?portNo);

char?serverIP[STR_MAX_LENGTH];
clearStr(serverIP);?//?解析IP地址
concatInt(serverIP?temp[0]);
concatStr(serverIP?“.“);
concatInt(serverIP?temp[1]);
concatStr(serverIP?“.“);
concatInt(serverIP?temp[2]);
concatStr(serverIP?“.“);
concatInt(serverIP?temp[3]);
inet_pton(AF_INET?serverIP?&data.sin_addr);
int?dataSocket?=?socket(AF_INET?SOCK_STREAM?0);
if?(dataSocket? printf(“Error:?Failed?to?initial?socket!?Program?will?exit.\n“);
return?-1;
}
data.sin_family?=?AF_INET; //?準備數據連接
data.sin_port?=?htons(portNo);
result?=?connect(dataSocket?(struct?sockaddr?*)?&data?sizeof(data));
if?(result? printf(“Error:?Failed?to?connect?socket!?Program?will?exit.\n“);
return?-1;
}

printf(“%s\n“?buffer);
return?dataSocket; //?返回數據Socket號
}
}

//?主函數?
int?main()?{

printf(“\n“);
printf(“Welcome?to?FTP?client.\n“);
printf(“Type?\“?\“?for?more?information.\n“);
printf(“\n“);

int?serverSocket?=?socket(AF_INET?SOCK_STREAM?0);?//?初始化信息Socket
if?(serverSocket? printf(“Error:?Failed?to?initial?socket!?Program?will?exit.\n“);
return?-1;
}

int?connecting?=?0;?
int?result;
struct?sockaddr_in?server;
struct?sockaddr_in?data;

char?ftpcmd[STR_MAX_LENGTH];
char?buffer[STR_MAX_LENGTH];

while?(1)?{ //?無限循環等待用戶輸入
char?cmd[STR_MAX_LENGTH];
printf(“>“);
readline(cmd);

if?(sameStr(cmd?“open“))?{?//?連接服務器命令
if?(connecting?==?1)?{
printf(
“Error:?A?server?connect?already?exists?please?disconnect?first.\n“);
}?else?{
printf(“Please?input?the?server?IP?address:?“);
char?serverIP[STR_MAX_LENGTH];
readline(serverIP);?//?獲取IP
printf(“Please?input?the?port?N

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????30522??2010-05-15?19:47??Client\.cproject

?????文件???????2384??2010-05-15?19:47??Client\.project

?????文件??????17644??2010-05-20?15:09??Client\client

?????文件??????12399??2010-06-13?10:53??Client\client.c

?????文件??????12957??2010-05-20?15:09??Client\client.c~

?????文件???????1704??2010-06-13?11:11??Client\command.h

?????文件??????90449??2010-05-18?09:17??Client\Debug\Client

?????文件????????113??2010-05-18?09:17??Client\Debug\client.d

?????文件??????88560??2010-05-18?09:17??Client\Debug\client.o

?????文件????????953??2010-05-18?09:17??Client\Debug\makefile

?????文件????????230??2010-05-18?09:17??Client\Debug\objects.mk

?????文件????????390??2010-05-18?09:17??Client\Debug\sources.mk

?????文件????????649??2010-05-18?09:17??Client\Debug\subdir.mk

?????文件????????386??2010-05-16?19:19??Client\include.h

?????文件???????4070??2010-05-19?11:43??Client\string.h

?????文件??????59622??2010-05-15?19:47??Server\.cproject

?????文件???????2384??2010-05-15?19:47??Server\.project

?????文件???????1704??2010-06-13?11:11??Server\command.h

?????文件????????953??2010-05-16?19:18??Server\Debug\makefile

?????文件????????230??2010-05-16?19:18??Server\Debug\objects.mk

?????文件??????97100??2010-05-16?19:18??Server\Debug\Server

?????文件????????113??2010-05-16?19:18??Server\Debug\server.d

?????文件??????93096??2010-05-16?19:18??Server\Debug\server.o

?????文件????????390??2010-05-16?19:18??Server\Debug\sources.mk

?????文件????????649??2010-05-16?19:18??Server\Debug\subdir.mk

?????文件????????407??2010-05-16?19:17??Server\include.h

?????文件??????22500??2010-05-19?12:10??Server\server

?????文件??????15554??2010-12-06?10:57??Server\server.c

?????文件???????4119??2010-05-16?19:17??Server\string.h

?????目錄??????????0??2010-05-30?17:31??Client\Debug

............此處省略6個文件信息

評論

共有 條評論