📄 cli.c
字号:
#include "client.h"
void cmd_quit(int sock,int sockmsg);
void cmd_help(int sock,int sockmsg);
void cmd_put(int sock,int sockmsg,char* fileName);
int getPasswd(char *passwd);
char user_cmd[10],cmd_arg[20];
char buf[dataLen];
char usr_msg_1[]="please enter the username:";
char usr_msg_2[]="please enter the password:";
char usr_msg_3[]="the user name or password error!";
char usr_msg_4[]="welcome! have fun!";
char usr_msg[50];
/**********quit命令************/
/******************************/
void cmd_quit(int sock,int sockmsg)
{
write(sockmsg,user_cmd,sizeof(user_cmd));
}
/************help*************/
/*****************************/
void cmd_help(int sock, int sockmsg)
{
char help[300];
write(sockmsg,user_cmd,sizeof(user_cmd));
read(sock,help,300);
printf("%s\n",help);
}
/************put实现上传************/
/***********************************/
void cmd_put(int sock,int sockmsg,char* fileName)
{
write(sockmsg,user_cmd,sizeof(user_cmd));
write(sockmsg,cmd_arg,sizeof(cmd_arg));
int fd;
long fileSize;
int numread;
char filePath[200];
struct stat fileSta;
memset(filePath,0,sizeof(filePath));
getcwd(filePath,sizeof(filePath));
strcat(filePath,"/");
strcat(filePath,fileName);
fd=open(filePath,O_RDONLY, S_IREAD);
if(fd!=-1)
{
fstat(fd,&fileSta);
fileSize=(long) fileSta.st_size;
write(sock,&fileSize,sizeof(long));
memset(buf,0,dataLen);
while(fileSize>0)
{
numread=read(fd,buf,dataLen);
write(sock,buf,numread);
fileSize=fileSize-numread;
}
close(fd);
printf("Upload completed\n");
}
else
{
printf("open file %s failed\n",filePath);
}
}
/************获取密码***********/
/*******************************/
int getPasswd(char *passwd)
{
struct termio tbuf_old,tbuf;
ioctl(0, TCGETA, &tbuf_old);
ioctl(0, TCGETA, &tbuf);
tbuf.c_lflag &=~ECHO;
if (ioctl(0, TCSETAF, &tbuf) != 0)
return;
printf("please input passwd:");
scanf("%s", passwd);
ioctl(0, TCSETAF, &tbuf_old);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -