资源简介
标准C写成的实现FTP上传下载功能的源代码,浅显易懂,编程新手可以看看其层次划分和代码编写风格。
代码片段和文件信息
//====================================================================
//
// Copyright (C) 2006-2008 Frank.Ning
//
// Filename: axel.c
// Author: Frank.Ning
// Description:
//
// $Id: axel.cv 1.9 2007/11/30 08:18:11 frank Exp $
//
//====================================================================
#include “axel.h“
static const char* const axel_c_version =
“$Id: axel.cv 1.9 2007/11/30 08:18:11 frank Exp $“;
/* Axel */
static void save_state( axel_t *axel );
#ifdef WIN32
static DWORD WINAPI setup_thread(LPVOID c );
#else
static void *setup_thread( void * );
#endif
static void axel_message( axel_t *axel char *format ... );
static void axel_divide( axel_t *axel );
static char *buffer = NULL;
/* Create a new axel_t structure */
axel_t *axel_new( conf_t *conf int file_id
const char *url const char* local_file Orention_t direct )
{
// search_t *res;
axel_t *axel;
// url_t *u;
int i tmpfd;
char *s;
struct stat ft;
axel = malloc( sizeof( axel_t ) );
memset( axel 0 sizeof( axel_t ) );
axel->conf = conf;
axel->conn = malloc( sizeof( conn_t ) * axel->conf->num_connections );
memset( axel->conn 0 sizeof( conn_t ) * axel->conf->num_connections );
if( axel->conf->max_speed > 0 )
{
if( (float) axel->conf->max_speed / axel->conf->buffer_size < 0.5 )
{
if( axel->conf->verbose >= 2 )
axel_message( axel _(“Buffer resized for this speed.“) );
axel->conf->buffer_size = axel->conf->max_speed;
}
axel->delay_time = (int) ( (float) 1000000 / axel->conf->max_speed * axel->conf->buffer_size * axel->conf->num_connections );
}
if( buffer == NULL )
buffer = malloc( max( MAX_STRING axel->conf->buffer_size ) );
axel->url = malloc( sizeof( url_t ) );
axel->url->next = axel->url;
strcpy( axel->url->text (char *) url );
axel->direct = direct;
axel->status = malloc( sizeof(conn_status_t) );
memset( axel->status 0 sizeof(conn_status_t) );
for( i = 0; i < axel->conf->num_connections ; ++i )
{
axel->conn[ i ].file_id = file_id;
axel->conn[ i ].direct = direct;
axel->status->mask |= ( 1 << i );
}
#if 0
if( count == 0 )
{
axel->url = malloc( sizeof( url_t ) );
axel->url->next = axel->url;
strcpy( axel->url->text (char *) url );
}
else
{
res = (search_t *) url;
u = axel->url = malloc( sizeof( url_t ) );
for( i = 0; i < count; i ++ )
{
strcpy( u->text res[i].url );
if( i < count - 1 )
{
u->next = malloc( sizeof( url_t ) );
u = u->next;
}
else
{
u->next = axel->url;
}
}
}
#endif
axel->conn[0].conf = axel->conf;
axel->conn[0].status = axel->status;
if( !conn_set( &axel->conn
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 33005 2008-01-16 15:19 src\axel.c
文件 3147 2008-01-14 10:57 src\axel.h
文件 2829 2007-11-05 14:31 src\axel.h.~1.6.~
文件 412865 2008-01-14 11:32 src\axel.o
文件 989 2007-10-23 16:44 src\conf.h
文件 395529 2008-01-14 11:17 src\conf.o
文件 8631 2008-01-07 11:09 src\conn.c
文件 8601 2007-11-15 10:07 src\conn.c.~1.5.~
文件 1666 2008-01-14 10:57 src\conn.h
文件 1602 2007-11-15 10:07 src\conn.h.~1.5.~
文件 401658 2008-01-14 11:17 src\conn.o
文件 9490 2008-01-14 11:46 src\ftp.c
文件 1129 2007-11-15 10:07 src\ftp.h
文件 401836 2008-01-14 11:46 src\ftp.o
文件 4946 2007-10-23 09:14 src\http.c
文件 1287 2007-10-23 09:14 src\http.h
文件 399067 2008-01-14 11:17 src\http.o
文件 1128 2008-01-11 16:13 src\inet_test.c
文件 0 2008-01-11 16:04 src\inet_test.c.~1~
文件 10658 2008-01-14 11:46 src\libwww.a
文件 407 2008-01-14 11:46 src\libwww.def
文件 1195 2007-11-05 10:00 src\Makefile
文件 1571 2007-10-23 16:44 src\socket_impl.c
文件 1064 2007-10-23 09:14 src\socket_impl.h
文件 376997 2008-01-14 11:17 src\socket_impl.o
文件 2033 2007-11-05 10:04 src\tcp.c
文件 661 2007-10-23 09:14 src\tcp.h
文件 393398 2008-01-14 11:17 src\tcp.o
文件 386265 2008-01-14 11:50 src\test.o
文件 108 2007-11-06 15:08 src\test.sh
............此处省略29个文件信息
- 上一篇:od增长系数法程序可用于任意矩阵
- 下一篇:一个随笔画程序
相关资源
- 一个随笔画程序
- 基于Qt的多线程工具
- 银行信贷管理系统代码
- <<两周自制脚本语言>>源代码
- 《操作系统概念》第七版1-13章答案含
- osg画实时曲线的代码,vc开发
- 基于中颖sh79f166A demo 上手代码
- 机器狗病毒源代码 VC源代码
- PE病毒源代码 里面各种功能比较全面
- 人行为识别代码,需要的过来看看,
- 写快捷方式添加启动项代码
- 500个delphi基本 源代码.rar
- 常用低速接口verilog代码Uart/SPI/I2C等
- 微机原理与接口技术实验程序全整理
- windows扫雷代码
- 连连看 程序框架代码C 语言版
- 英飞凌 IRMCF143 样例代码
- SRNN完整源代码
- 《DirectX 11游戏编程入门》中文版+英文
- TSL2561 测试代码
- 随机弹窗代码
- ArduinoLED矩阵代码
- 矩阵求逆高效完整C代码
- 统计学生成绩 汇编
- 八数码问题C代码 可直接运行
- 代码备忘录经典的代码备忘录
- 汇编语言写的时钟小程序
- 通信系统的完整OFDM代码
- 许愿墙程序源代码
- 数字魔板游戏源代码
评论
共有 条评论