资源简介
基于linux下的服务器 可完成上传下载等一系列功能

代码片段和文件信息
#include “com.h“
#include “pub.h“
#include “hash.h“
int data_conn_sock; //数据连接通道
int pasv_connsock; //做PASV时那个套接口
char up_com[10] ; //记上一条命令到底是PASV还是PORT用的
char port_ip[50] ; //PORT命令处理完后记IP用的
int port_port ; // PORT 命令处理完后记port用的
char refilename[100]; // 文件重命名
long rest_long; //断点续传的长度
long transfer_data_now; //从开始到现在的发送字节数
long transfer_data_last; //从开始到上一次的发送字节数
float limit_speed; //上传下载的限制速度
/*
*函数功能:收到客户端发过来的USER命令进行处理的
*输入参数:CONNSESSION *nowssion:存放着客户端发过来的各种参数路径
*返回值: 无
*/
void ftp_user(CONNSESSION *nowssion)
{
strcpy(connusernowssion->charm);
//printf(“11.name %s\n“connuser);
write_loop(connfd “331 please specify password\r\n“ strlen(“331 please specify password\r\n“));
}
/*
*函数功能:收到客户端发过来的PASS命令进行处理的
*输入参数:CONNSESSION *nowssion:存放着客户端发过来的各种参数路径
*返回值: 无
*/
void ftp_pass(CONNSESSION *nowssion)
{
int res;
if(strcmp(connuser “anonymous“) != 0)
{
res = checkpass(connusernowssion->charm);
if (res == 1)
write_loop(connfd “230 Login successful\r\n“ strlen(“230 Login successful\r\n“));
else
write_loop(connfd “the pass is error!\r\n“ strlen(“the pass is error!\r\n“));
setegid_euid(connuser0);
}
else
{
write_loop(connfd “230 Login successful\r\n“ strlen(“230 Login successful\r\n“));
chdir(“/var/ftp“);
}
}
/*
*函数功能:收到客户端发过来的SYST命令进行处理的
*输入参数:CONNSESSION *nowssion:存放着客户端发过来的各种参数路径
*返回值: 无
*/
void ftp_syst(CONNSESSION *nowssion)
{
write_loop(connfd “215 UNIX Type: L8\r\n“ strlen(“215 UNIX Type: L8\r\n“));
}
/*
*函数功能:收到客户端发过来的PWD命令进行处理的 把路径封装好发给客户端
*输入参数:CONNSESSION *nowssion:存放着客户端发过来的各种参数路径
*返回值: 无
*/
void ftp_pwd(CONNSESSION *nowssion)
{
char nowdir[100] = ““;
char tempstr[200] = ““;
//chdir(nowssion->dir);
if(strcmp(connuser “anonymous“) != 0)
{
sprintf(tempstr “257 \“%s\“\r\n“ nowssion->dir);
}
else
{
if(strcmp(nowssion->dir “/var/ftp“) == 0)
strcpy(tempstr “257 \“/\“\r\n“);
else
{
sprintf(tempstr “257 \“%s\“\r\n“ nowssion->dir+8);
}
}
write_loop(connfd tempstrstrlen(tempstr));
// write_loop(connfd “257 test\r\n“ sizeof(“257 test\r\n“));
}
/*
*函数功能:收到客户端发过来的TYPE命令进行处理的
*输入参数:CONNSESSION *nowssion:存放着客户端发过来的各种参数路径
*返回值: 无
*/
void ftp_type(CONNSESSION *nowssion)
{
if(strcmp(nowssion->charm “A“)==0)
write_loop(connfd “200 Switching to ASCII mode\r\n“ strlen(“200 Switching to ASCII mode\r\n“));
else
write_loop(connfd “200 Switching to binary system mode\r\n“ strlen(“200 Switching to binary system mode\r\n“));
}
/*
*函数功能:收到客户端发过来的CWD命令进行处理的 进入到指定目录
*输入参数:CONNSESSION *nowssion:存放着客户端发过来的各种参数路径
*返回值: 无
*/
//进目录
void ftp_cwd(CONNSESSION *nowssion)
{
if(strcmp(connuser “root“) != 0 )
{
if(strcmp(nowssion->charm “root“) == 0 || strcmp(nowssion->charm “/root/“) == 0)
{
write_loop(connfd “550 Failed to change directory.\r\
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-06-14 17:01 wzyftp\
文件 22287 2013-07-08 22:43 wzyftp\com.c
文件 1513 2013-07-06 15:00 wzyftp\com.h
文件 27128 2013-07-09 19:15 wzyftp\com.o
文件 187 2013-07-09 19:15 wzyftp\ftp.conf
文件 6124 2013-07-07 19:52 wzyftp\hash.c
文件 1048 2013-07-02 17:56 wzyftp\hash.h
文件 10388 2013-07-09 19:15 wzyftp\hash.o
文件 160 2013-07-03 15:50 wzyftp\makefile
文件 63104 2013-07-09 19:19 wzyftp\myftp
文件 170 2013-06-28 23:31 wzyftp\myftp.c
文件 2400 2013-07-09 19:15 wzyftp\myftp.o
文件 12957 2013-06-28 16:43 wzyftp\pp
文件 10646 2013-07-08 22:30 wzyftp\pub.c
文件 1616 2013-07-03 15:50 wzyftp\pub.h
文件 15528 2013-07-09 19:15 wzyftp\pub.o
文件 11722 2013-07-09 19:19 wzyftp\ser.c
文件 11722 2013-07-09 19:19 wzyftp\ser.c.bak
文件 614 2013-07-03 15:50 wzyftp\ser.h
文件 15872 2013-07-09 19:19 wzyftp\ser.o
- 上一篇:KPG100DC
- 下一篇:JSON-js-master
相关资源
- GNU/Linux系统开发者需要从桌面突破
- the_definitive_guide_to_linux_network_programm
- linux-shell脚本命令:grep命令简介
- Learning Linux Binary Analysis
- 蓝牙源代码应用于LINUX
- uboot到linux logo显示不间断 补丁
- UNIX/LINUX编程实践教程的源码
- Linux任务管理器
- linux应用层的华容道游戏源代码
- ubuntu9.10 可加载内核模块和字符设备驱
- MP3文件ID3v2ID3v2APEv2标签读取
- 操作系统实验——虚存管理实验
- linux下的发包工具sendip
- 尚观培训linux许巍关于c 的笔记和讲义
- 尚观培训linux董亮老师关于数据结构的
- linux 线程池源码 c 版
- linux C 电梯程序练习
- linux下用多进程同步方法解决生产者
- Linux 操作系统实验(全)
- Linux From Scratch 中文手册
- linux 网络实验 ftp程序
- Linux命令大全离线版&在线版
- 操作系统共享内存实验
- dos 下运行Linux 命令--gnu_utils
- linux 0.12内核源代码
- linux简易shell C实现
- linux实验报告及心得体会
- 基于GTK的Linux环境下的简易任务管理器
- linux扫雷游戏代码
- CAN Linux驱动代码
评论
共有 条评论