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

  • 大小: 8.51 KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2024-08-29
  • 語言: 其他
  • 標簽: linux??c??ftp??socket??

資源簡介

linux 網絡編程 socket編程 ftp的用戶端和服務器端源程序

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include??
#include?
#include??
#include??
#include?
#include?
#include?
#define?_GNU_SOURCE

struct?client_t
{
pthread_t?tid;
int?conn_fd;
int?used;
char?name[20];
}p_client[10];

struct?server_t
{
FILE?*?fp;
int?sockfd;
};

typedef?struct?client_path
{
char?currentDirPath[100];??
}pri_struct;

static?pthread_key_t?pri_key;

static?pthread_once_t?pri_once?=?PTHREAD_ONCE_INIT;

pthread_mutex_t?client_no?=?PTHREAD_MUTEX_INITIALIZER;

int?count?=?0;
int?count_all?=?0;
int?using[10];
void?*client_conn(void?*arg);
void?call_once(void);
char?help[]=“get:download?a?file?from?server\nput:upload?a?file?to?server\npwd:show?the?current?path\nls:list?files?in?the?current?directory\ncd:change?directory\nascii/binary:switch?mode\nquit:quit?this?ftp\n“;??
??
void?cmd_ls(int?sock);??
void?cmd_cd(int?sockchar?*dirName);??
void?cmd_cdback(int?sock);
void?cmd_get_bin(int?sockdatachar*filename);
void?cmd_get_ascii(int?sockdatachar?*filename);
void?cmd_put_bin(int?sockdatachar?*filename);
void?cmd_put_ascii(int?sockdatachar*?filename);
void?*server(void?*arg);

????
static?void?pri_destructor(void?*ptr)
{
free(ptr);
}

static?void?pri_onlyonce(void)
{
pthread_key_create(&pri_keypri_destructor);
}

void?get_path(pri_struct?*?p_data)
{
memset(p_data->currentDirPath0sizeof(p_data->currentDirPath));
getcwd(p_data->currentDirPathsizeof(p_data->currentDirPath));
}

int?main(int?argcchar**?argv)
{
int?sockfd;
struct?hostent?*hptr;
????char?**pptr;
????char?hostname[32];
????char?*addr;
struct?sockaddr_in?server_addr;
int?bind_succ;
int?port;
int?sockdata;
int?ij;
int?*?quit?=?NULL;
char??username[30]password[20]buf[50]client_name[20];
char?*?line?=?NULL;
size_t?len?=?0;
ssize_t?read;
int?flag?=?0;
int?flag_client?=?0;
pthread_t?serv_tid;
FILE?*fp;
struct?server_t?ser_struct;
?
for(i=0;i<10;i++)
{
p_client[i].used?=?0;
using[i]?=?0;
}

fp?=?fopen(“./user.txt““r“);
if?(fp?==?NULL)
exit(EXIT_FAILURE);

printf(“please?input?username?and?password!\nusername:?“);
scanf(“%s“username);
printf(“password:?“);
scanf(“%s“password);
strcat(username“?“);
strcat(usernamepassword);
strcat(username“\n“);
while?((read?=?getline(&line?&len?fp))?!=?-1)
{
if(strcmp(lineusername)==0)
{
flag?=?1;
break;
}
}
if?(line)
free(line);
if(flag?==?1)
printf(“login?successed!\nWelcome?to?ftpserver!\n“);
else
{
printf(“login?failed!\nPlease?check?your?username?or?password\n“);
return?-1;
}

if?(argc?==?2)
{
if(?gethostname(hostnamesizeof(hostname))?)
{
printf(“gethostname?calling?error\n“);
return?1;
}

if(?(hptr?=?gethostbyname(hostna

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

?????文件?????????60??2009-04-14?21:34??ftp\client.txt

?????文件??????18447??2009-02-19?22:47??ftp\ftpserver.c

?????文件??????13864??2009-02-19?22:50??ftp\myftp.c

?????文件????????544??2009-04-14?21:34??ftp\readme.txt

?????文件?????????19??2009-04-14?21:34??ftp\user.txt

?????目錄??????????0??2009-04-14?21:34??ftp

-----------?---------??----------?-----??----

????????????????32934????????????????????6


評論

共有 條評論