当前位置:  技术问答>linux和unix

linux 下 文件传输程序

    来源: 互联网  发布时间:2015-02-15

    本文导语:  我想在linux环境中编写一个c/s方式的文件传输程序 1.server端首先运行 2,client端将文件发送到server 3,server端将接收到的文件保存到磁盘上 还没有思路请大家帮忙看一下。 最好有例子程序看一看 | 以下是...

我想在linux环境中编写一个c/s方式的文件传输程序
1.server端首先运行
2,client端将文件发送到server
3,server端将接收到的文件保存到磁盘上

还没有思路请大家帮忙看一下。
最好有例子程序看一看

|
以下是我写的一个Client端的库,你可以参照一下。

头文件:
/*##############################################################################
#
#   PG name : liblpftp.h
#
#   This head is for liblpftp.c
#
#   Modify  Date : 2002/03/13   By kyoku-c
#
##############################################################################*/

#ifndef __LIB_LP_FTP_H_
#define __LIB_LP_FTP_H_

/******************************************************************************/
/*                             Head Department                                */
/******************************************************************************/
/*-------------------------------------------------------*/
#include
#include
#include
#include

/*------------------------------------------------*/
typedef struct _connect_data {

  /* control connection */
  struct sockaddr_in saddr; /* server */
  struct sockaddr_in laddr; /* local */
  int ctrl;

  /* data connection */
  int passive;              /* flag whether passive supported */
  struct sockaddr_in daddr;
  int data;

  /* last response */
  char *lastline;

} connect_data;

struct _file_progress_data {
  long totalsize;
  time_t lasttime;
  long currentsize;
  float rate;
  long elapsed;
  long left;
  int percent;
};

typedef int (*ftp_check_proc)();
typedef int (*ftp_xfer_proc)(int, void*);

/*----------------------------------------------*/
struct in_addr *ftp_gethosts (char*, ftp_check_proc);
int ftp_syst (struct _connect_data*, FILE*, ftp_check_proc);
int ftp_rename (char*,char*,struct _connect_data*,FILE*,ftp_check_proc);
int ftp_site (char*,struct _connect_data*,FILE*,ftp_check_proc);
int ftp_mkdir (char*,struct _connect_data*,FILE*,ftp_check_proc);
int ftp_delete (char*,struct _connect_data*,FILE*,ftp_check_proc);
int ftp_rmdir (char*,struct _connect_data*,FILE*,ftp_check_proc);
int ftp_chdir (char*,struct _connect_data*,FILE*,ftp_check_proc);
int ftp_command (char*,struct _connect_data*,FILE*,ftp_check_proc);
int ftp_read_response (struct _connect_data*,FILE*,ftp_check_proc);
int ftp_disconnect (struct _connect_data*,FILE*,ftp_check_proc);
int ftp_connect (char*,int,struct _connect_data*,FILE*,ftp_check_proc);
int ftp_login (char*,char*,char*,struct _connect_data*,FILE*,ftp_check_proc);
int ftp_pwd (char**,struct _connect_data*,FILE*,ftp_check_proc);
int ftp_size (long*,char,char*,connect_data*,FILE*,ftp_check_proc);
int ftp_passive_init (struct _connect_data*,FILE*,ftp_check_proc);
int ftp_sendport_init (struct _connect_data*,FILE*,ftp_check_proc);
int ftp_data_init (struct _connect_data*,FILE*,ftp_check_proc);
int ftp_passive_connect (struct _connect_data*,FILE*,ftp_check_proc);
int ftp_sendport_connect (struct _connect_data*,FILE*,ftp_check_proc);
int ftp_data_connect (struct _connect_data*,FILE*,ftp_check_proc);
int ftp_list (char*,char*,struct _connect_data*,FILE*,ftp_check_proc);
int ftp_get (char,char*,struct _connect_data*,FILE*,ftp_check_proc);
int ftp_resume (char,long,char*,struct _connect_data*,FILE*,ftp_check_proc);
int ftp_put (char,char*,struct _connect_data*,FILE*,ftp_check_proc);
int ftp_close_data (struct _connect_data*,FILE*,ftp_check_proc);
int ftp_abort_data (struct _connect_data*,FILE*,ftp_check_proc);
int ftp_xfer_get(char,int,int,ftp_xfer_proc,void*);
int ftp_xfer_put(char,int,int,ftp_xfer_proc,void*);

#endif /* __LIB_LP_FTP_H_ */

|
参看:UNIX网络编程,第一卷.

    
 
 

您可能感兴趣的文章:

  • 纯C/C++ 有没有文件传输的SAMPLE(linux)
  • 请问 linux与windows两个平台下如何实现高速数据传输?
  • LINUX下如何查看正在传输的文件??
  • 在linux怎么编写文件传输
  • 用linux(服)windows(客)传输文件,windows端可以,linux端不可以,怎么回事???
  • 同一主机windows和linux文件传输
  • 有人做过Linux下的蓝牙传输吗,100分,先给20
  • linux无线网络传输也可以直接使用socket接口编程吗?
  • linux 下如何图片如何通过socket传输?
  • Linux 驱动事件传输?
  • 浙ICP备11055608号-3 iis7站长之家
  • linux文件传输
  • 两台linux之间如何传输文件
  • 关于linux下的文件加密传输。
  • linux下c编程串口传输图片,help!!
  • 请教各位大虾:在linux下,怎样用程序实现基于ftp传输文件?
  • LINUX下如何通过电话线传输数据
  • 请教一个完整的linux下通过串口传输各种文件的源码,多谢!
  • linux下的远程控制如何解决声音的传输?
  • redhat linux 超大文件传输老中断
  • Linux_centos_redhat下tar命令解压tgz文件方法
  • 用java读中文linux中的文件是正确的,用java读英文linux版本中的文件是乱码,如何使英文linux读出的文件数据也是中文的?
  • linux下nm命令(显示可执行文件的符号信息)介绍以及常见nm命令用法举例
  • Linux查找包含指定文字的文件(linux查找指定文件)
  • Linux下c函数dlopen实现加载动态库so文件代码举例
  • 请问LINUX内核下,哪些文件夹下的文件是跟LINUX的硬件平台无关的?
  • mount命令(linux操作系统)挂载卸载文件系统(cifs,光驱,nfs等)方法介绍
  • 请问各位linux开发大虾,linux下有类似VC中depends的工具可以查看文件调用了哪些so文件吗?
  • linux内存文件系统ramfs实现原理
  • 急::在Linux下怎么根据另一台windows或linux的文件名,去得到这个文件
  • linux/Centos/ubuntu下如何使用umask命令修改新建文件时的默认权限
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux下通过crond实现自动执行程序
  • 为什么linux下的C++程序这么少见? 请问那里有linux下的C++程序?什么类型的程序都可以.
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • linux上的程序怎样远程启动另一个linux系统上的某个程序
  • 如何使用linux下gdb来调试python程序
  • 在linux下面怎么安程序啊?我刚裝了一个 linux,下了一个迅雷安装程序,可是不知道怎么安装啊?真心请教。
  • 请指点: 在windows下能否通过程序来获取linux下的用户列表,甚至通过自己写的windows程序界面增加修改linux的用户
  • Linux程序员在公司里做什么程序?(Linux程序员请进)
  • 我的linux程序 如何 在pc机器上运行。现在我用arm-linux-g++ 编译后的程序在我的嵌入设备上运行。
  • Linux 编程怎么样在程序开启一个程序,和关闭一个程序?
  • Linux下的程序是在内存中运行的吗?为什么在程序运行的时候可以删除程序文件?
  • 请指点: 在windows下能否通过程序来获取linux下的用户列表,甚至通过自己写的windows程序界面增加修改linux的用户 100分相赠
  • linux初学者一简单问题!在线送分!linux设备驱动程序一书的第一个程序.
  • 最进想学习LINUX程序设计,想了解一下在LINUX下的C++程序开发工具有哪些?有快速做界面的那种吗?
  • 我写了个linux下的网络程序,程序在多个电脑间通信,但是我没有多个电脑,怎么调试这样的程序啊?
  • linux下,一个程序如何向另一个程序发送消息,另一个程序如何接收
  • 请问载linux下如何调试汇编程序,有没有像debug的程序。
  • linux的程序员是不是比windows程序员的薪水高啊?
  • 菜鸟求助:Linux 应用程序后台启动后关闭窗口程序退出
  • 请教:如何在linux服务器上实现一个程序,该程序可启动远程linux客户端上的一个脚本(sh后缀)的执行
  • 学了linux程序设计后能不能编写出应用程序
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3