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

  • 大小: 1.59MB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2023-11-14
  • 語言: 數據庫
  • 標簽: linux??

資源簡介

Linux 下服務器與客戶端之間的文件傳輸,利用并發服務器實現多個客戶端與服務器之間的交互,利用了linux下的MySQL數據庫,實現了登陸界面的注冊與登陸。代碼簡單易懂,很適合初學者

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
#include??
#include?
#include?
#include?

#define?MAX_LINE?100
#define?BUFFER_SIZE?1024???
#define?FILE_NAME?20
#define?MAX_NAME?50

void?Login_Menu();??//登錄成功后選擇界面
void?sendfile(int?client_socket_fd?char?Send_Filename[]);????//上傳文件到服務器
void?recvfile(int?client_socket_fd?char?Down_Filename[]); //客戶端從服務器下載文件

struct?regis????//用戶注冊信息
{
char?flag[10];
char?file_name[FILE_NAME];
}SendReg;

struct?DIR_FILE????//服務器當前文件夾下所有文件信息
{
char?Dir_File[NAME_MAX];
}D_File;

int?main(int?argc?char?*argv[])
{
struct?sockaddr_in?sin;
char?buf[MAX_LINE];
int?s_fd;
int?port?=?6666;
int?n;

bzero(&sin?sizeof(sin));
sin.sin_family?=?AF_INET;
inet_pton(AF_INET?“127.0.0.1“?&sin.sin_addr);
sin.sin_port?=?htons(port);

if((s_fd?=?socket(AF_INET?SOCK_STREAM?0))?==?-1)??//套節子
{
perror(“fail?to?creat?socket\n“);
exit(1);
}

if(connect(s_fd?(struct?sockaddr?*)?&sin?sizeof(sin))?==?-1)
{
perror(“fail?to?connect\n“);
exit(1);
}
while(1)
{
char?Filename[10];
char?Send_Filename[BUFFER_SIZE];
char?Down_Filename[BUFFER_SIZE];

Login_Menu();??//登錄成功后選擇界面

scanf(“%s“?Filename);
printf(“\n“);
if(strncmp(Filename?“sendfile“?8)?==?0)???//上傳文件到服務器
{
strcpy(SendReg.flag?“sendfile“);
printf(“Please?Input?File?Name?Sendfile?On?Server:\t“);????
scanf(“%s“?SendReg.file_name);?
n?=?send(s_fd?(struct?regis*)&SendReg?sizeof(SendReg)?0);
if(n?==?-1)?
{??
perror(“fail?to?send\n“);?
exit(1);?
}

strcpy(Send_Filename?SendReg.file_name);
sendfile(s_fd?Send_Filename);
}
if(strncmp(Filename?“lookfile“?8)?==?0)???//查看文件從服務器
{
strcpy(SendReg.flag?“lookfile“);
n?=?send(s_fd?(struct?regis?*)&SendReg?sizeof(SendReg)?0);
if(n?==?-1)?
{??
perror(“fail?to?send\n“);?
exit(1);?
}
int?length?=?0;
int?n?=?0;
printf(“當前文件夾下的所有文件如下:\n\n“);
while((length?=?recv(s_fd?(struct?DIR_FILE?*)&D_File?sizeof(D_File)?0))?>?0)
{
++n;
if(strcmp(D_File.Dir_File?“OK“)?==?0)
break;
printf(“[?%s?]“?D_File.Dir_File);
if(n?%?5?==?0)
printf(“\n“);
}
}
if(strncmp(Filename?“downfile“?8)?==?0)???//載文件從服務器
{
strcpy(SendReg.flag?“downfile“);
printf(“Please?Input?File?Name?Downfile?On?Server:\t“);????
scanf(“%s“?SendReg.file_name);?
n?=?send(s_fd?(struct?regis*)&SendReg?sizeof(SendReg)?0);
if(n?==?-1)?
{??
perror(“fail?to?send\n“);?
exit(1);?
}
strcpy(Down_Filename?SendReg.file_name);
recvfile(s_fd?Down_Filename);
}
}
if(close(s_fd)?==?-1)
{
perror(“fail?to?close\n“);
exit(1);
}

return?0;
}

void?recvfile(int?client_socket_fd?char?Down_Filename[]) //客戶端從服務器下載文件
{????
char?file_name[FILE_NAME];
char?buffer[BUFFER_SIZE];
????????
strcpy(file_name?Down_Filename);?????????
//?向服務器發送buffer中的數據????

FILE?*fp?=?fopen(file_na

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-05-24?16:49??Linux?C下服務器與客戶端之間的文件傳輸\
?????目錄???????????0??2015-05-24?17:23??Linux?C下服務器與客戶端之間的文件傳輸\不含有linux?下Mysql數據庫\
?????目錄???????????0??2015-05-24?16:56??Linux?C下服務器與客戶端之間的文件傳輸\不含有linux?下Mysql數據庫\client\
?????文件???????23390??2015-05-24?16:26??Linux?C下服務器與客戶端之間的文件傳輸\不含有linux?下Mysql數據庫\client\2.jpg
?????文件???????23390??2015-05-24?16:55??Linux?C下服務器與客戶端之間的文件傳輸\不含有linux?下Mysql數據庫\client\3.jpg
?????文件???????23390??2015-05-18?21:47??Linux?C下服務器與客戶端之間的文件傳輸\不含有linux?下Mysql數據庫\client\4.jpg
?????文件???????23390??2015-05-24?16:26??Linux?C下服務器與客戶端之間的文件傳輸\不含有linux?下Mysql數據庫\client\5.jpg
?????文件???????23390??2015-05-18?21:48??Linux?C下服務器與客戶端之間的文件傳輸\不含有linux?下Mysql數據庫\client\6.jpg
?????文件???????23390??2015-05-18?21:48??Linux?C下服務器與客戶端之間的文件傳輸\不含有linux?下Mysql數據庫\client\7.jpg
?????文件???????23390??2015-05-18?21:48??Linux?C下服務器與客戶端之間的文件傳輸\不含有linux?下Mysql數據庫\client\8.jpg
?????文件???????23390??2015-05-18?21:48??Linux?C下服務器與客戶端之間的文件傳輸\不含有linux?下Mysql數據庫\client\9.jpg
?????文件????????9198??2015-05-24?16:54??Linux?C下服務器與客戶端之間的文件傳輸\不含有linux?下Mysql數據庫\client\client
?????文件????????5669??2015-05-24?16:43??Linux?C下服務器與客戶端之間的文件傳輸\不含有linux?下Mysql數據庫\client\client.c
?????文件??????????55??2015-04-27?10:08??Linux?C下服務器與客戶端之間的文件傳輸\不含有linux?下Mysql數據庫\client\makefile
?????文件??????204929??2015-05-24?16:55??Linux?C下服務器與客戶端之間的文件傳輸\不含有linux?下Mysql數據庫\client\test.png
?????目錄???????????0??2015-05-24?16:56??Linux?C下服務器與客戶端之間的文件傳輸\不含有linux?下Mysql數據庫\server\
?????目錄???????????0??2015-05-24?16:56??Linux?C下服務器與客戶端之間的文件傳輸\不含有linux?下Mysql數據庫\server\dai\
?????文件???????23390??2015-05-19?18:29??Linux?C下服務器與客戶端之間的文件傳輸\不含有linux?下Mysql數據庫\server\dai\2.jpg
?????文件???????23390??2015-05-24?11:30??Linux?C下服務器與客戶端之間的文件傳輸\不含有linux?下Mysql數據庫\server\dai\3.jpg
?????文件???????23390??2015-05-18?21:45??Linux?C下服務器與客戶端之間的文件傳輸\不含有linux?下Mysql數據庫\server\dai\4.jpg
?????文件???????23390??2015-05-18?21:46??Linux?C下服務器與客戶端之間的文件傳輸\不含有linux?下Mysql數據庫\server\dai\5.jpg
?????文件???????23390??2015-05-24?16:11??Linux?C下服務器與客戶端之間的文件傳輸\不含有linux?下Mysql數據庫\server\dai\6.jpg
?????文件???????23462??2015-05-19?15:12??Linux?C下服務器與客戶端之間的文件傳輸\不含有linux?下Mysql數據庫\server\dai\7.jpg
?????文件???????23390??2015-04-27?10:10??Linux?C下服務器與客戶端之間的文件傳輸\不含有linux?下Mysql數據庫\server\dai\8.jpg
?????文件???????23390??2015-04-27?10:10??Linux?C下服務器與客戶端之間的文件傳輸\不含有linux?下Mysql數據庫\server\dai\9.jpg
?????文件??????204929??2015-05-20?16:22??Linux?C下服務器與客戶端之間的文件傳輸\不含有linux?下Mysql數據庫\server\dai\test.png
?????文件??????????65??2015-05-24?16:25??Linux?C下服務器與客戶端之間的文件傳輸\不含有linux?下Mysql數據庫\server\makefile
?????文件????????9771??2015-05-24?16:52??Linux?C下服務器與客戶端之間的文件傳輸\不含有linux?下Mysql數據庫\server\server
?????文件????????6467??2015-05-24?16:43??Linux?C下服務器與客戶端之間的文件傳輸\不含有linux?下Mysql數據庫\server\server.c
?????文件???????73728??2015-05-24?17:23??Linux?C下服務器與客戶端之間的文件傳輸\不含有linux?下Mysql數據庫\使用說明.doc
?????目錄???????????0??2015-05-24?17:22??Linux?C下服務器與客戶端之間的文件傳輸\含有linux?下Mysql數據庫\
............此處省略29個文件信息

評論

共有 條評論