⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 client.c

📁 實現一套網路TCP/IP的嵌入式系統測試程式...希望可以在多平台下運行
💻 C
字号:
#include <unistd.h> 
#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 
#include <sys/socket.h> 
#include <netinet/in.h> 

#include<sys/types.h>
#include<dirent.h>

int main(){ 
struct sockaddr_in addr_svr; 
  
int sockfd; 

char msg[100];
char account[100];
char password[100];
char folderMSG[100];
char folder[100];
char fileMSG[100];
char file[100];
char content[100];


// Set Server Address 
memset(&addr_svr, 0, sizeof(addr_svr)); 
addr_svr.sin_family= AF_INET; 
addr_svr.sin_port= htons(80); 
addr_svr.sin_addr.s_addr = inet_addr("192.168.0.155"); 
 
// Create Client Socket 
sockfd = socket(AF_INET, SOCK_STREAM, 0); 
  
if(sockfd == -1) { 
    printf("Error: socket()\n"); 
    exit(1); 
} 
 
// Connect to Server 
if(connect(sockfd,(struct sockaddr *)&addr_svr, sizeof(addr_svr)) == -1){ 
    printf("Error: connect()\n"); 
    exit(1); 
}

while(strcmp(msg,"ok"))
{            
    printf("Enter your FTP account.\n");
    scanf("%s", account);
    write(sockfd, account, 10);
    read(sockfd, msg, 10);
    if(strcmp(msg,"ok")!=0)
    printf("Account doesn't exist!\n");              
}

strcpy(msg,"none");
while(strcmp(msg,"ok"))
{
     printf("Account Correct!\nEnter your password.\n");      
     scanf("%s", password);
     write(sockfd, password, 10);
     read(sockfd, msg, 10);     
     if(strcmp(msg,"ok")!=0)
         printf("Password is wrong!\n");  
     else
         printf("Log in successfully!!  welcome\n");
}

//DIR *dir = opendir("p3/test");

//read(sockfd, folderMSG, 100);
//printf("%s\nWhich folder?\n", folderMSG);
//scanf("%s", folder);
//write(sockfd, folder, 100);

// Read Folder & Files
read(sockfd, fileMSG, 100);
    
while(1)
{
    printf("%s\nWhich file or folder?\n", fileMSG);     
    scanf("%s", file);
    write(sockfd, file, strlen(file)+1);
	if (strcmp(file,"exit")==0)
	{
		read(sockfd, msg, 100);
		printf("%s\n",msg);
		break;
	}
    FILE *fin = fopen(file, "a");
   
    while(1)
	{
        read(sockfd, content, 10);
        if(strcmp(content,"END")!=0)
		{	
            fputs(content, fin);
            printf("%s\n",content);
		}
        else
		{
            printf("END OF FILE\n");
            fclose(fin);
            break;
		}   
	}
} 

// Close socket 
close(sockfd); 
 
return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -